Julia是动态键入的,某些错误仅在执行期间发生。
例如:
julia> function foo()
a
5
end
foo (generic function with 1 method)
julia> foo()
ERROR: UndefVarError: a not defined
Stacktrace:
[1] foo() at ./REPL[1]:2
[2] top-level scope at none:0
julia>
将解析与eval结合使用具有相同的行为:
julia> eval(Meta.parse("function foo()
a
5
end"))
foo (generic function with 1 method)
但是,执行此操作时会引发错误:
julia> foo()
ERROR: UndefVarError: a not defined
Stacktrace:
[1] foo() at ./none:2
[2] top-level scope at none:0
是否存在检查这些类型错误的标准设施?还是有适合该任务的软件包?
答案 0 :(得分:1)
VS Code Julia extension有一个integrated linter,可以检测未定义变量的使用,如您的示例。
还有一个Lint.jl字样,虽然我不确定它是否是Julia v1.x的最新版本。