【发布时间】:2018-11-26 11:27:57
【问题描述】:
当我试图理解 Julia 中的元编程时:分别在这段代码中缺少什么,我该如何调用 Tuple 的正确构造函数?
x = (:a, :b)
p = quote
f_a = 3
f_b = 4
y = Tuple($([Symbol("f_", k) for k in x]...))
end
这将为我生成以下代码:
quote
f_a = 3
f_b = 4
y = Tuple(f_a, f_b)
end
这当然是错误的,因为元组没有合适的构造函数。我希望 y 最后成为一个元组,但我还没有看到如何获得额外的括号。
换句话说,这段代码中缺少什么:
x = (:a, :b)
p = quote
f_a = 3
f_b = 4
y = ($([Symbol("f_", k) for k in x]...))
end
eval(p)
@assert isa(y, Tuple)
【问题讨论】:
标签: julia