不清楚为什么 {。{1}}在执行.jl文件时执行,但从REPL执行时则不执行。
例如
ERROR: LoadError: UndefVarError: subtypes not defined
...但是将完全相同的代码放在abstract type Asset end
abstract type Property <: Asset end
abstract type Investment <: Asset end
abstract type Cash <: Asset end
println(subtypes(Asset))
> 3-element Array{Any,1}:
Cash
Investment
Property
中,
test.jl
Julia 1.4.1版,在OSX Catalina(10.15.4)上执行
答案 0 :(得分:4)
您需要在致电using InteractiveUtils
之前添加subtypes
。默认情况下,启动Julia REPL时已加载此文件。
因此您的文件应如下所示:
shell> more t.jl
using InteractiveUtils
abstract type Asset end
abstract type Property <: Asset end
abstract type Investment <: Asset end
abstract type Cash <: Asset end
println(subtypes(Asset))
shell> julia t.jl
Any[Cash, Investment, Property]