从茱莉亚中的列表表达式中创建表达式列表

时间:2019-04-14 16:51:46

标签: expression julia metaprogramming

是否有一种方法可以从列表中的表达式转换为julia中的表达式列表,而无需评估中介机构?

julia> l = :([1, 2+x, 5, 3/x])
:([1, 2 + x, 5, 3 / x])

julia> @eval [$(quote e end) for e in $l]
ERROR: UndefVarError: x not defined

理想状态为:

[1, :(2 + x), 5, :(3 / x)])

1 个答案:

答案 0 :(得分:3)

这是执行此操作的方法(如果我正确理解了您想要的内容):

julia> l.args
4-element Array{Any,1}:
 1
  :(2 + x)
 5
  :(3 / x)