Bagaimana fungsi yang ditentukan pengguna (katakanlah f
) memiliki hasil cetak yang berarti ketika diperiksa melalui REPL menggunakan ?f
atauhelp(f)
Misalnya bayangkan saya menulis funciton berikut
function f(x::Float64, y::Float64)
return 2x - y^2
end
Jika saya memuat ini ke dalam sesi julia dan mencoba, help(f)
saya mendapatkan yang berikut:
julia> help(f)
f (generic function with 1 method)
Bagaimana jika sebaliknya saya ingin melihat sesuatu seperti
julia> help(f)
f
Compute 2 times x minus y squared
di mana deskripsi "Hitung 2 kali x dikurangi y kuadrat" ditulis di suatu tempat. Saya menebak jawaban atas pertanyaan saya dapat ditentukan dari jawaban atas pertanyaan "Di manakah tempat deskripsi harus ditulis?"
Sebagai contoh, jika saya ingin melakukan hal yang sama dengan python, saya dapat mendefinisikan fungsinya dan meletakkan deskripsinya sebagai docstring:
def f(x, y):
"""
Compute 2 times x minus y squared
"""
return 2 * x - y ** 2
yang akan membuat deskripsi saya segera tersedia saat saya mengetik help(f)
atau f?
dari IPython.
Jawaban:
Anda dapat menggunakan
@doc
makro di Julia versi 0.4 (Okt. 2015) dan yang lebih baru.% 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.
Sunting: Seperti yang ditunjukkan oleh @Harrison Grodin, versi 0.5 dan di atasnya mendukung sintaks yang disingkat serta Markdown, LaTEX, dan beberapa barang lainnya:
""" 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
Ada detail lebih lanjut di dokumentasi .
sumber
Di Julia v0.5 + ( termasuk Versi Julia yang lebih baru seperti 1.2+ ), Anda dapat menulis string multiline di atas definisi fungsi. (Tidak perlu
@doc
lagi.)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
Untuk informasi lebih lanjut tentang memformat dokumen Anda dengan benar, lihat Dokumentasi Julia resmi .
sumber