获取 Julia 方法的关键字名称
Get names of keywords for Julia methods
我有一个类似
的函数
function f(a = 1; first = 5, second = "asdf")
return a
end
有没有办法以编程方式 return 具有关键字参数名称的向量。类似于:
kwargs(f)
# returns [:first, :second]
我意识到一个函数名有多个方法可能会很复杂。但我希望如果指定了确切的方法,这仍然是可能的。例如:
kwargs(methods(f).ms[1])
# returns [:first, :second]
只需使用Base.kwarg_decl()
julia> Base.kwarg_decl.(methods(f))
2-element Vector{Vector{Symbol}}:
[]
[:first, :second]
如果你也需要第一个参数a
你也可以尝试:
julia> Base.method_argnames.(methods(f))
2-element Vector{Vector{Symbol}}:
[Symbol("#self#")]
[Symbol("#self#"), :a]
我有一个类似
的函数function f(a = 1; first = 5, second = "asdf")
return a
end
有没有办法以编程方式 return 具有关键字参数名称的向量。类似于:
kwargs(f)
# returns [:first, :second]
我意识到一个函数名有多个方法可能会很复杂。但我希望如果指定了确切的方法,这仍然是可能的。例如:
kwargs(methods(f).ms[1])
# returns [:first, :second]
只需使用Base.kwarg_decl()
julia> Base.kwarg_decl.(methods(f))
2-element Vector{Vector{Symbol}}:
[]
[:first, :second]
如果你也需要第一个参数a
你也可以尝试:
julia> Base.method_argnames.(methods(f))
2-element Vector{Vector{Symbol}}:
[Symbol("#self#")]
[Symbol("#self#"), :a]