0
表情,我想形成像一个简单的插值使用朱莉娅
julia> ex = :(a[$i,$j] + b[$i,$j])
表情,因为我感兴趣的书面方式一个程序,它能够写方程的系统中,用户只给出了结构然后茱莉亚明确写入了涉及的代码块。更一般地,我想嵌入一个表达式的功能,像
julia> ex = :(a[$myfunc(i,j),$j] + b[$i,$j])
在评估的第一行代码,我得到
ERROR: UndefVarError: i not defined
in eval(::Module, ::Any) at ./boot.jl:226
在另一方面,如果我写
julia> ex = :(a[i,j] + b[i,j])
:(a[i,j] + b[i,j])
julia> for i in 1:2
for j in 1:2
println(eval(ex))
end
end
ERROR: UndefVarError: i not defined
in eval(::Module, ::Any) at ./boot.jl:226
[inlined code] from ./boot.jl:225
in anonymous at ./<no file>:4294967295
in eval(::Module, ::Any) at ./boot.jl:226
在这种情况下如何进行插值?
这几乎是我在找的东西。我想得到,例如从'a [i] + b [j]'到'a [1] + b [4]',作为一段代码,以一定的值评估内容。是的,它更多的是代数操作,而不是简单的替换。原因是后来我想让程序决定写一些可以由用户决定的'a [1] + a [4] + b [3]'。 – user2820579
换句话说,如果'n = 1',我想以代码形式,即'a [1] + b [1]'来转换一个像'sum_i = 1,na [i] + b [i] ,或者如果n = 2,则a [1] + b [1] + a [2] + b [2]。 – user2820579