朱莉娅UndefVarError:未定义子类型

时间:2020-05-25 23:11:44

标签: julia

不清楚为什么 {。{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)上执行

1 个答案:

答案 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]