假设我有这个Dict
:
d=Dict("arg1"=>10,"arg2"=>20)
以及这样的一个函数:
function foo(;arg1,arg2,arg3,arg4,arg5)
#Do something
end
我该如何调用函数并将Dict
d 中的参数作为函数的参数传递?我知道可以这样做:
foo(arg1=d["arg1"],arg2=d["arg2"])
但是有没有自动化的方法呢?我的意思是一种找出哪些参数在字典中已定义并自动传递给函数的方法。
假设我有这个Dict
:
d=Dict("arg1"=>10,"arg2"=>20)
以及这样的一个函数:
function foo(;arg1,arg2,arg3,arg4,arg5)
#Do something
end
我该如何调用函数并将Dict
d 中的参数作为函数的参数传递?我知道可以这样做:
foo(arg1=d["arg1"],arg2=d["arg2"])
具有 Symbol
键的字典可以直接用于函数调用中:
julia> d = Dict(:arg1 => 10, :arg2 => 12)
Dict{Symbol, Int64} with 2 entries:
:arg1 => 10
:arg2 => 12
julia> f(; arg1, arg2) = arg1 + arg2
f (generic function with 1 method)
julia> f(; d...)
22
d
中的元素被解释为关键字参数而不是意外地成为Pair
的位置参数。