compiler-errors - 什么是 UndefvarError?

标签 compiler-errors julia

我正在读硕士类(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/

相关文章:

makefile - 如何捕获命令错误并在 makefile 中继续编译?

c++ - Julia 表演建议

exception - 如何在 Julia 中抛出特定异常

julia - Julia 中的核外计算

c# - Microsoft.Lightswitch.Build.Tasks.Targets(168,5): application definition contains critical errors

c - 无效的初始化程序编译器错误在结构数组的malloc

java - 错误:package doesn't exist while compiling java code

c - yacc 错误 : '' x' has no declared type

ubuntu - RPi 4B Ubuntu 上的 LightGBM 无法加载模型

julia - 在 Julia 中使用数组广播的除法运算符