不确定,但它使我在创建过程的调用顺序中获得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
default_create
进行了一些调用。可能有对Current
的调用(直接或间接,例如,如果Current
作为参数传递到某个地方)。如果此时未设置属性attr
,则当前对象未完全初始化,并且在常规功能调用中使用它可能会导致对Void目标的调用(特别是由于多态性)。为了避免此问题,需要在任何涉及Current
的调用之前设置所有属性。