D是否支持文档生成?
Does D support documentation generation?
许多现代编程语言都支持将注释系统作为文档字符串。
此功能在 Python 或 Clojure 等语言中是理所当然的,其中文档字符串可能有助于理解函数的用途,否则可能不清楚:
def gen_ast(s):
''' given a string, s, representing a program, generates object model of abstract syntax tree '''
# function contents here ...
我是 D 编程的新手,但尚未找到以客户端可访问的方式编写文档字符串注释的文档(例如 Python 中的 help(gen_ast)
)。 D 是否支持文档字符串?
是的。
对于代码本身:
http://dlang.org/spec/ddoc.html
命令行选项:
http://dlang.org/phobos/std_getopt.html
从代码中得到:
http://dlang.org/spec/attribute.html#uda
但是,可以公平地说,文档注释无法在代码中直接访问 - 您必须将其作为 UDA 或 getopt 库文档字符串来执行,或者在构建集中使用单独的命令来提取注释(dmd -D 将它们变成 html,dmd -D -X 将它们变成 json,然后你解析它)
作为@Adam D Ruppe 回答的后续,这里是从第一个 link 中提取的相关内容,这是 D 文档生成的官方规范。
首先,returns的函数指定如下:
/**
* Read the file.
* Returns: The contents of the file.
*/
void[] readFile(char[] filename) { ... }
其次,在需要的地方以类似的方式指定示例:
/**
* Examples:
* --------------------
* writeln("3"); // writes '3' to stdout
* --------------------
*/
但是,我发现文档在使用这些约定自动生成文档的能力方面并不清楚。
许多现代编程语言都支持将注释系统作为文档字符串。
此功能在 Python 或 Clojure 等语言中是理所当然的,其中文档字符串可能有助于理解函数的用途,否则可能不清楚:
def gen_ast(s):
''' given a string, s, representing a program, generates object model of abstract syntax tree '''
# function contents here ...
我是 D 编程的新手,但尚未找到以客户端可访问的方式编写文档字符串注释的文档(例如 Python 中的 help(gen_ast)
)。 D 是否支持文档字符串?
是的。
对于代码本身: http://dlang.org/spec/ddoc.html
命令行选项: http://dlang.org/phobos/std_getopt.html
从代码中得到: http://dlang.org/spec/attribute.html#uda
但是,可以公平地说,文档注释无法在代码中直接访问 - 您必须将其作为 UDA 或 getopt 库文档字符串来执行,或者在构建集中使用单独的命令来提取注释(dmd -D 将它们变成 html,dmd -D -X 将它们变成 json,然后你解析它)
作为@Adam D Ruppe 回答的后续,这里是从第一个 link 中提取的相关内容,这是 D 文档生成的官方规范。
首先,returns的函数指定如下:
/**
* Read the file.
* Returns: The contents of the file.
*/
void[] readFile(char[] filename) { ... }
其次,在需要的地方以类似的方式指定示例:
/**
* Examples:
* --------------------
* writeln("3"); // writes '3' to stdout
* --------------------
*/
但是,我发现文档在使用这些约定自动生成文档的能力方面并不清楚。