首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Erlang:如何导入模块的类型声明?

Erlang:如何导入模块的类型声明?
EN

Stack Overflow用户
提问于 2016-11-16 20:40:00
回答 1查看 1K关注 0票数 4

例如,httpc库(http://erlang.org/doc/man/httpc.html#request-4)定义了一些类型:

代码语言:javascript
复制
status_line() = {http_version(), status_code(), reason_phrase()}
http_version() = string(), for example, "HTTP/1.1"
status_code() = integer()
reason_phrase() = string()
content_type() = string()
headers() = [header()]
header() = {field(), value()}

在我的代码中,我想要编写一个函数,例如,它使用一个结果并产生一些其他的东西。但是,rebar3 dialyzer抱怨:

代码语言:javascript
复制
===> Verifying dependencies...
===> Compiling xxx
===> Compiling src/httpabs.erl failed
src/httpabs.erl:35: type headers() undefined
src/httpabs.erl:35: type status_code() undefined
src/httpabs.erl:35: type status_line() undefined

那么,如何导入这些类型声明以便可以重用它们呢?

EN

回答 1

Stack Overflow用户

发布于 2016-11-16 21:58:23

通常,通过对模块名称进行前缀来使用从另一个模块导出的类型,类似于您使用导出函数的方式:module:type_name()

但是,您提到的类型仅在文档中使用;它们实际上并不是从httpc模块导出的。

您可以在Erlang/OTP源代码树中搜索-export_type指令;我不知道其他任何方法来了解实际导出的类型。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40641883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档