当使用 ?f
或 help(f)
通过REPL检查时,用户定义的函数(例如 f
)如何具有有意义的打印输出
例如,想象一下我写下面的函数
function f(x::Float64, y::Float64)
return 2x - y^2
end
如果我把它加载到julia会话并尝试 help(f)
我得到以下内容:
julia> help(f)
f (generic function with 1 method)
如果相反我想看到类似的东西怎么办?
julia> help(f)
f
Compute 2 times x minus y squared
其中描述“计算2次x减y平方”的描述 . 我猜我的问题的答案可以从问题的答案中确定:“描述应该写在哪里?”
举例来说,如果我想在python中做同样的事情,我可以定义函数并将描述作为文档字符串:
def f(x, y):
"""
Compute 2 times x minus y squared
"""
return 2 * x - y ** 2
当我从IPython输入 help(f)
或 f?
时,这将使我的描述立即可用 .
2 回答
您可以在Julia版本0.4(2015年10月)及更高版本中使用@doc宏 .
Edit: 正如@Harrison Grodin所指出的,0.5及以上版本支持缩写语法以及Markdown,LaTEX和其他一些好东西:
还有更多细节in the documentation .
在Julia v0.5中,您可以在函数定义上面编写多行字符串 . (不再需要
@doc
. )有关正确格式化文档字符串的详细信息,请参阅官方Julia Documentation .