initialize
获取 -即使我已经在初始化中声明了实例变量,也必须在内部声明实例变量。
我typed: strict
用来输入检查我的红宝石代码。我使用实例变量的实例方法之一@updated
。冰糕抛出错误 - “使用未声明的变量”。我创建了一个初始化方法来声明它。然后“使用未声明的变量”替换为“必须在内部声明实例变量initialize
”
sig{returns(<<redacted>>)}
def initialize
@updated = T.let(Time.now, Time)
self
end
错误是 -
Instance variables must be declared inside `initialize` https://srb.help/5005
39 | @updated = T.let(Time.now, Time)
预期 - 不应该有任何错误,因为实例变量声明在def initialize
# typed: strict
class A
extend T::Sig
sig {returns(Integer)}
attr_accessor :x
sig {params(y: Integer).void}
def initiazlize(y)
@x = y
end
sig{returns(Integer)}
def simple_operation
@x = 5
@x
end
end
# -- error
editor.rb:10: Instance variables must be declared inside `initialize` https://srb.help/5005
10 | @x = T.let(y, Integer)
^^
Errors: 1