插值和表达
创建表达式提到表达式与字符串密切相关。因此,字符串内插的原则也与表达式相关。例如,在基本字符串插值中,我们可以有类似的东西:
n = 2
julia> MyString = "there are $n ducks"
"there are 2 ducks"
我们使用 $
符号将 n
的值插入字符串中。我们可以使用与表达式相同的技术。例如
a = 2
ex1 = :(x = 2*$a) ## :(x = 2 * 2)
a = 3
eval(ex1)
x # 4
对比这个:
a = 2
ex2 = :(x = 2*a) # :(x = 2a)
a = 3
eval(ex2)
x # 6
因此,在第一个例子中,我们预先设定将在评估表达式时使用的 a
的值。但是,在第二个例子中,Julia 编译器只会在评估表达式时查看 a
以查找其值。