Julia 表达式
阐述
具象类型 Expr <: Any
- 字段
head::Symbol
:是一个 Julia 符号,表示了表达式的类型 - 字段
args::Vector{Any}
:可以存放其他表达式、符号、字面值
构建
- 通过 Julia 构造函数:
Expr(head, args...)
- 通过
Meta.parse(str)
- 通过 Julia 引用 Julia 代码构成的表达式:
:(...)
quote ... end
相关方法
- 展示:可以用
Meta.show_sexpr
查看 S-表达式形式 - 求值:用
eval
函数可以按表达式的内容进行运算,还可能带来副作用。
实例
julia> :(a + b*c + 1) ==
Meta.parse("a + b*c + 1") ==
Expr(:call, :+, :a, Expr(:call, :*, :b, :c), 1)
true