我正在努力攀登Erlang最佳实践的学习曲线;刚刚将eDoc集成到我的工作流程中。
这对我有用:
%%% --------------------------------------------------------------------
%%% @author Lloyd R. Prentice
%%% @copyright 2011 Lloyd R. Prentice
%%% @doc Yada yada
%%% ...
%%% @end
%%% --------------------------------------------------------------------
正如我所料,所有内容都出现在文档中。
但这不是:
%% Return a list of reserved item types
item_types() ->
....
我希望在eDoc输出中看到一系列功能和文档注释。但是,没有表演。
我已经搜索了eDoc文档,在网上查找了示例和教程,但我看不出我做错了什么。
有人可以帮忙吗?
非常感谢,
LRP
答案 0 :(得分:2)
如果您正确调用了edoc,根据您的示例,我希望看到模块的大纲以及函数名称,而不是每个函数的文档。
在每个导出的功能上方,您需要添加@spec
代码和/或-spec
代码以及@doc
代码。您可以看到这些解释here和here。如果您有(或正在定位)最新版本的erlang(> 14B02?),则edoc会阅读-spec
信息,否则您需要使用@spec
。
例如:
%% @spec item_types() -> list()
%% @doc Return a list of reserved item types.
item_types() ->
或
-spec item_types() -> list().
%% @doc Return a list of reserved item types.
item_types() ->
请注意.
末尾的-spec
。
答案 1 :(得分:1)
首先,只有导出的函数出现在生成的文档中(除非您将选项'private'传递给EDoc,告诉它也显示所有未导出的函数)。所以,如果你没有像:
这样的声明 -export([item_types/0]).
在您的模块中,该功能将不会显示。
其次,您必须使用@doc开始使用函数声明上方的注释,如:
%% @doc Return a list of reserved item types
item_types() ->
没有@ -tag的评论只是一个评论,EDoc会忽略。
答案 2 :(得分:0)