2016-11-19 89 views
2

许多现代编程语言都支持作为文档字符串的注释系统。D是否支持文档生成?

此功能是采取像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是否提供文档支持?

回答

3

是的。

对于代码本身: 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,然后你解析它)

+0

关于编译语言中help()的不相关性的好处......我仍然适应生活,没有一个repl可以重新使用。 –

1

作为@Adam D Ruppe的回答的后续内容,这里是从第一个链接提取的相关内容,这是官方规范用于D文档生成。

/** 
* Read the file. 
* Returns: The contents of the file. 
*/ 

void[] readFile(char[] filename) { ... } 

其次,示例在一个类似的方式指定的在需要的地方:

首先,回报功能规定如下

/** 
* Examples: 
* -------------------- 
* writeln("3"); // writes '3' to stdout 
* -------------------- 
*/ 

然而,我发现的文档不清楚与尊重使用这些惯例进行自动文档生成的能力。