RX0314

领域: 解析

错误消息

requires 项不是 fn 的完整名字加契约:%s(%s)

消息中的 %s 表示引擎抛出错误时填入的具体内容。

小故事

你在 manifest 的 requires 里写了一条依赖,引擎说:这一项不是完整的函数名加契约。那一项应该怎么写?像函数声明的头部一样:项目名、模块名、函数名,用点连起来,然后是方括号,里面写参数和它们的规则,最后用箭头写返回的规则。这样写出来的契约,才能和对方函数自己的契约算出同样的哈希,引擎才能比对。如果你只写了个名字,没有参数列表,或者契约后面还多拖了别的东西,引擎就没有可以评判的东西。小例子:只写了 peer.lib.shout。修法是补全方括号里的参数和箭头后的返回规则。写得完整,对方改动时你才能被及时提醒。

文本来自 Rush 引擎的错误目录。