ruby - “方法 << 在 T.class_of(A) 上不存在”将 def_delegators 与 sorbet 一起使用
问题描述
我有一个代码,它使用 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)
. 有什么建议或想法可以让我摆脱这个警告吗?
解决方案
推荐阅读
- html - 使用局部视图从视图生成 HTML 文件
- javascript - Jitsi meet external api 如何正确配置仅音频和自动加入?
- shell - 如何删除shell中匹配的行和前两行?
- apache-spark - 在条件内计算 MAX 值时出错
- node.js - Kubernetes - AKS:将 AKS 群集与应用程序网关链接。多个站点(不是子页面)指向同一个 IP
- java - Java SocketException:套接字已关闭
- javascript - 新窗口上的本地存储
- python-3.x - 如何为行星名称设置实体 - 对话流
- etl - Informatica 关系连接密码更改
- javascript - 如何将您当前的语言环境包含在 url 中?(Nuxt.js/Vuetify)