我正在读硕士类(class)。
我有一个在 julia-0.3.6 版本中运行的程序文件。
我在 linux 中将 Julia 程序升级到了 0.5.0 版,但是文件没有运行。
f=open("../info.dat","r")
order,nt,nx,ny,nshot,srcy=int(split(readline(f)[1:6])
ERROR: LoadError: UndefVarError: int not defined
问题是什么?
最佳答案
int
函数在 Julia v0.4 中已被弃用,并在 Julia v0.5 中被删除,所以 UndefVarError
当您尝试使用它时会发生。 (请注意,函数是 Julia 中的一等对象,因此与任何其他变量一样都绑定(bind)到名称。当使用未绑定(bind)名称时,会抛出 UndefVarError
。)在 Julia v0 中编写代码的正确方法.5 是
f = open("../info.dat", "r")
order,nt,nx,ny,nshot,srcy = [parse(Int, x) for x in split(readline(f))]
但是,这段代码不是很好,因为它没有关闭
f
之后。我会推荐order, nt, nx, ny, nshot, srcy = open("../info.dat") do f
[parse(Int, x) for x in split(readline(f))]
end
关于compiler-errors - 什么是 UndefvarError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40011252/