gpt4 book ai didi

julia - 在 Julia 中插入关键字参数

转载 作者:行者123 更新时间:2023-12-04 23:17:17 25 4
gpt4 key购买 nike

我得到了一个形式的函数

f(;a=1, b=2, c=3, d=4) = ...

以及一个长度为 4 的向量,其中包含指示需要输入哪些关键字参数的 bool 值,然后还有一个长度在 1 到 4 之间的值的向量,以输入适当的插槽(按顺序)。例如,我可能会得到
[true,false,true,false]
[5,100]

这样我就想评估以下内容:
f(a=5, c=100)

我如何有效而优雅地做到这一点?

最佳答案

您可以从 (Symbol,Any) 对列表中组合使用 bool 索引、zip 和关键字:

julia> f(;a=1,b=2,c=3,d=4) = @show a,b,c,d
f (generic function with 1 method)

julia> ks = [:a,:b,:c,:d]
4-element Array{Symbol,1}:
:a
:b
:c
:d

julia> shoulduse = [true,false,true,false]
4-element Array{Bool,1}:
true
false
true
false

julia> vals = [5,100]
2-element Array{Int64,1}:
5
100

julia> kw = zip(ks[shoulduse], vals)
Base.Zip2{Array{Symbol,1},Array{Int64,1}}([:a,:c],[5,100])

julia> f(;kw...)
(a,b,c,d) = (5,2,100,4)
(5,2,100,4)

关于julia - 在 Julia 中插入关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870190/

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