RX0008

领域: 引擎

错误消息

内置函数 %s 声明的参数类型 %s 没有在 types.feml 中声明

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

小故事

引擎刚要启动,就发现了一件怪事:某个内置函数的参数,说自己是某种类型,可类型表里压根没有这种类型。这是怎么回事呢?每个参数的类型,都要在 types.feml 里声明,并配上一段 piece 文本,引擎出生时就靠它造出一位判官。没有声明的类型,就造不出判官,没有判官的参数,就什么都判断不了,等于一扇没有门卫的大门。所以引擎宁可拒绝诞生,也不放进一个看不见的参数。比如,有人给一个内置函数加了参数,类型写成了一个新名字,却忘了把这个新名字登记到类型表里。修复很干脆:到 src/engine/lawmaker/types.feml 里,增加一个 type 组,写上类型名和它的 piece 文本。好消息是,这一步不需要改任何 C 文件,只改声明就行。改完之后,引擎就能正常启动了。记住:每一个类型,都要先登记,才能被使用。

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