RX0017

领域: 引擎

错误消息

内置函数 %s 对生产测试给出的回答 %s 不在 Trinity 词汇表中

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

小故事

每个内置函数,都要回答那个唯一的问题:执行我,会产生一个值吗?答案要写在它的 production_test 里,而且只能用 trinity.feml 里声明过的词。这一次,有一个内置函数写了一个词,可是词汇表里没有。你也许觉得,差不多嘛,选最接近的那个不就行了。可是引擎不这么看:一个不在词汇表里的词,不是答错了,而是在回答另一个问题,如果硬从它推出种类,就等于偷偷发明了第二条判据。比如把「会」写成了「yes」,可词汇表里只认另外的拼写。所以引擎选择拒绝诞生,而不是替你默认一个种类,因为没有人推导过的种类,不能被信任。怎么办?改成已声明的回答,或者到 trinity.feml 里增加一个新的回答行,不需要碰任何 C 文件。记住:答案要在词汇表之内。

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