gpt4 book ai didi

julia - 允许函数忽略不支持的关键字参数

转载 作者:行者123 更新时间:2023-12-04 11:34:29 27 4
gpt4 key购买 nike

有没有一种允许函数忽略不支持的关键字参数的好方法?

fopts = [:kw1]
opts = Dict(:kw1=>:symb1, :kw2=>:symb2)

function f(; kw1 = :symb)
return kw1
end
f(;opts...)会抛出 METHOD ERROR
我可以用这样的东西包装它,但我仍然需要知道哪些 kwargs f会支持吗?
function f2(fopts; kwargs)
f(; Dict(key=>get(opts, key, 0) for key in fopts)...)
end

我错过了解决这个问题的方法。如果有性能损失,就不会那么大惊小怪,因为我想他们可能需要进行某种查找。有什么好的方法可以询问kwargs f以编程方式接受?

最佳答案

这是你想要的吗?

function g(; kw1 = :a, kw2 = :b, _whatever...)
return (kw1, kw2)
end

现在它是这样工作的:
julia> g()
(:a,:b)

julia> g(kw1 = :c)
(:c,:b)

julia> g(kw2 = :d)
(:a,:d)

julia> g(kw2 = :e, kw1 = :f, kw3 = :boo)
(:f,:e)

关于julia - 允许函数忽略不支持的关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42578569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com