我如何解决这样的问题:
type Foo
x::Goo
end
type Goo
y::Foo
end
我觉得这是一个编译与运行时问题,有没有办法预先声明类型,以便解释器/编译器/什么不会引发LoadError?
答案 0 :(得分:3)
一种方法是使用抽象类型
abstract GooLike
type Foo
x::GooLike
end
type Goo <: GooLike
y::Foo
end
或参数版
type Foo{T<:GooLike}
x::T
end
有一个关于循环依赖的open issue(截至2014-08-08)。