REPL _?f
_ or help(f)
を使用して検査した場合、ユーザー定義関数(たとえば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 x yの2乗を計算する」という記述はどこかに書かれています。私の質問への回答は、「説明がどこに書かれるべきか」という質問への回答から決定できると思います。
例として、Pythonで同じことをしたい場合は、関数を定義して、説明をdocstringとして置くことができます。
_def f(x, y):
"""
Compute 2 times x minus y squared
"""
return 2 * x - y ** 2
_
iPythonからhelp(f)
または_f?
_と入力すると、説明がすぐに表示されます。
@doc
マクロはJuliaバージョン0.4(2015年10月)以降で使用できます。
% Julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.4.0 (2015-10-08 06:20 UTC)
_/ |\__'_|_|_|\__'_| | Official http://julialang.org/ release
|__/ | x86_64-Apple-darwin13.4.0
Julia> @doc """
Compute 2 times x minus y squared.
""" ->
function f(x::Float64, y::Float64)
return 2x - y^2
end
f (generic function with 1 method)
Julia> @doc f
Compute 2 times x minus y squared.
編集:@Harrison Grodinによって指摘されているように、バージョン0.5以降は、Markdown、LaTEX、およびその他のいくつかの利点と同様に、省略された構文をサポートしています。
"""
Calculate the left Riemann sum[^1] approximating ``\int_a^b f(x) dx = F(b) - F(a).``
[^1]: Thomas G., Finney R. (1996), Calculus and Analytic Geometry, Addison Wesley, ISBN 0-201-53174-7
"""
function rs(a, b, d, f)
end
詳細があります ドキュメント内 。
Julia v0.5 +(1.2 +などの最新のJuliaバージョンを含む)では、関数定義の上に複数行の文字列を記述できます。 (@doc
はもう必要ありません。)
Julia> """
cube(x)
Compute the cube of `x`, ``x^3``.
# Examples
```jldoctest
Julia> cube(2)
8
```
"""
function cube(x)
x^3
end
cube
help?> cube
search: Cdouble isexecutable Ac_mul_B Ac_mul_Bc Ac_mul_B! Ac_mul_Bc! cumsum_kbn
cube(x)
Compute the cube of x, x^3.
Examples
≡≡≡≡≡≡≡≡≡≡
Julia> cube(2)
8
Docstringの適切なフォーマットの詳細については、公式の Julia Documentation を参照してください。