通过迭代字典来定义新变量的有效方法(Julia)

dap*_*ias 2 dictionary julia

考虑d朱莉娅的一本字典,其中包含数千个键.每个键都是一个符号,每个值都是一个数组.我可以访问与符号关联的值并将其:S1分配给变量k1via

k1 = d [:S1]

现在假设我想k2, k3, k4, ..., k10通过对特殊键重复相同的过程来定义新变量:S1 ... :S10(不是对于字典中的所有键).最有效的方法是什么?我的印象是这可以通过元编程来解决,但不确定.

Chr*_*kas 5

简单的方法是使用Parameters.jl.

using Parameters
d = Dict{Symbol,Any}(:a=>5.0,:b=>2,:c=>"Hi!")
@unpack a, c = d
a == 5.0 #true
c == "Hi!" #true
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这不使用eval.