-Name ist einfach: Symbol(f)
oder string(f)
wenn Sie einen String
Modul ist möchten, wie Sie pro Methode sein, wissen, gehen (das heißt pro Typ Signatur). methods(f)
mit return eine Methodentabelle, die alle Methoden und wo sie sind, in Bezug auf Dateien ausgibt.
Sie können [meth.module for meth in methods(f)]
tun
es Module zu erhalten, also ein Beispiel zu verwenden, die collect
Funktion.
julia> using DataStructures #so we have some non-Base definitions
julia> Symbol(collect)
:collect
julia> methods(collect)
# 5 methods for generic function "collect":
collect(r::Range) at range.jl:813
collect{T}(::Type{T}, itr) at array.jl:211
collect(itr::Base.Generator) at array.jl:265
collect{T}(q::DataStructures.Deque{T}) at /home/ubuntu/.julia/v0.5/DataStructures/src/deque.jl:170
collect(itr) at array.jl:236
julia> [meth.module for meth in methods(collect)]
5-element Array{Module,1}:
Base
Base
Base
DataStructures
Base
julia> first(methods(collect, (Deque,))).module
DataStructures
'Base.function_name (f)' und 'Base.function_module (f)' sehen wie eine perfekte Lösung für Julia 0.5 aus. Vielleicht haben Sie auch eine Lösung für den Modulnamen in Julia 0.4? – ffriend
@ffriend Sicher, fügte einen zusätzlichen Absatz hinzu. –
Ah, habe es nicht zuerst verstanden. Vielen Dank! – ffriend