有什么方法可以在 Sorbet 中表达空哈希?
我的属性具有明确定义的形状或设置为{}
. 显然T.type_alias({})
不会起作用,因为它{}
的工作原理Hash
是被翻译成T::Hash[T.untyped, T.untyped]
. 最简单的解决方案是拥有类似的东西T.nil
,然后将其用作T::Hash[String, T.nil]
(获取不存在键的值将始终返回一个nil
值),但没有这样的构造。
解决方法是更改代码以不接受那里的空哈希并以不同方式处理它。那么,就有可能拥有T.nilable(SomeType)
。但是,我想保留现在的代码,只需添加适当的类型签名。