我目前有三个文件:
tempfile.hrl
-export_type([temptype/0]).
-type temptype() :: string().
%% blah blah documentation
tempfile.erl
-module(tempfile).
... more code, but no references to the temptype() type.
random.erl
-module(random).
%% @headerfile "tempfile.hrl"
-include("tempfile.hrl").
-spec random() -> tempfile:temptype().
但是,在使用edoc时,不会显示temptype()
的任何文档。出现了tempfile.html#temptype
的超链接,但它链接到无处。我甚至尝试使用-export_type
,但这不起作用......可能是什么问题?感谢。
答案 0 :(得分:1)
temptype()不是模块tempfile的一部分。
您可以做的是将声明包含在tempfile模块中。
-export_type([temptype/0]).
-type temptype() :: string().
然后你不必拥有tempfile.hrl。
=>
tempfile.erl
-module(tempfile).
-export_type([temptype/0]).
-type temptype() :: string().
random.erl
-module(random).
-spec random() -> tempfile:temptype().
答案 1 :(得分:0)
如果您确实希望将头文件分开,则可以使用通用@headerfile
tag从Erlang文件中导入标签,如下所示:
tempfile.erl
-module(tempfile).
%%% @headerfile tempfile.hrl
... more code, but no references to the temptype() type.