Wie können benutzerdefinierte Funktionen (z. B. f
) aussagekräftige Ausdrucke haben, wenn sie über die REPL mit ?f
oder überprüft werden?help(f)
Stellen Sie sich zum Beispiel vor, ich schreibe die folgende Funktion
function f(x::Float64, y::Float64)
return 2x - y^2
end
Wenn ich dies in eine Julia-Sitzung lade und versuche, help(f)
erhalte ich Folgendes:
julia> help(f)
f (generic function with 1 method)
Was wäre, wenn ich stattdessen so etwas sehen wollte?
julia> help(f)
f
Compute 2 times x minus y squared
wo die Beschreibung "2 mal x minus y im Quadrat berechnen" irgendwo geschrieben ist. Ich vermute, die Antwort auf meine Frage kann aus der Antwort auf die Frage "Wo ist der Ort, an dem die Beschreibung geschrieben werden sollte?" Bestimmt werden.
Wenn ich beispielsweise dasselbe in Python tun wollte, konnte ich die Funktion definieren und die Beschreibung als Dokumentzeichenfolge einfügen:
def f(x, y):
"""
Compute 2 times x minus y squared
"""
return 2 * x - y ** 2
Dies würde meine Beschreibung sofort verfügbar machen, wenn ich help(f)
oder f?
aus IPython tippe.
Antworten:
Sie können das
@doc
Makro in Julia-Versionen 0.4 (Okt. 2015) und höher verwenden.Bearbeiten: Wie von @Harrison Grodin hervorgehoben, unterstützen Versionen 0.5 und höher eine abgekürzte Syntax sowie Markdown, LaTEX und einige andere Extras:
Weitere Details finden Sie in der Dokumentation .
quelle
In Julia v0.5 + ( einschließlich neuerer Julia-Versionen wie 1.2+ ) können Sie eine mehrzeilige Zeichenfolge über der Funktionsdefinition schreiben. (Keine Notwendigkeit
@doc
mehr.)Weitere Informationen zum ordnungsgemäßen Formatieren Ihrer Dokumentzeichenfolgen finden Sie in der offiziellen Julia-Dokumentation .
quelle