Sorbet 显示 attr_reader 错误,但如果我错了请纠正我,当函数被声明而不是被调用时需要 sigs,对吧?
我已经尝试过阅读文档,但我得到的只是这个注释
注意:许多看起来像局部变量的 Ruby 构造实际上是没有括号的方法调用!具体来说,注意 attr_reader 和零参数方法定义。
app/util/hodor.rb:125: This function does not have a `sig` https://sorbet.org/docs/error-reference#7017
125 | attr_reader(:collection_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
最佳答案
该错误与attr_reader
方法本身需要sig
无关,而与:collection_name
有关。 attr_reader
的签名是已知的,但它动态创建的新方法 #collection_name
没有已知的 sig
,而 Sorbet 期待这一点成为你给它的地方。
你可以这样做来修复它:
sig { returns(String) }
attr_reader(:collection_name)
关于ruby - 冰糕要求 `sig` `attr_reader`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56667291/