不确定,但这使我花了Error: variable is not properly set.
来创建程序的调用顺序。我发现在调用default_create
之前创建类属性似乎可以解决问题。为什么呢?似乎default_create在我的make例程中没有调用任何东西?
即使我认为我无法用一个简单的例子来再现它,也要尝试做一个例子...
class A
feature
attr: B
make
do
create attr
default_create
end
end
class A
feature
attr: B
make
do
default_create
create attr
end
end
答案 0 :(得分:2)
default_create
打了一些电话。可能会调用Current
(直接或间接,例如Current
作为参数传递到某个地方)。如果此时未设置属性attr
,则当前对象尚未完全初始化,并且在常规功能调用中使用它可能会导致对Void目标的调用(尤其是由于多态性)。为避免此问题,需要在涉及Current
的任何调用之前设置所有属性。