我有一个代码,它使用 Singleton 和 Forwardable 将一些方法委托给 internal Hash
。
class A
include Singleton
extend T::Sig
sig { returns(T::Hash[T.untyped, T.untyped]) }
attr_reader :stars
class << self
extend Forwardable
def_delegators :instance, :<<, :[], :stars
def_delegators :stars, :length
end
sig { void }
def initialize
@stars = {}
end
sig { params(identifier: String).returns(B) }
def [](identifier)
@stars[identifier]
end
end
我在课外使用A << B.new
,A
当我跑步时,be srb tc
我得到Method << does not exist on T.class_of(A)
. 有什么建议或想法可以让我摆脱这个警告吗?