错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
每个内置函数,都要先声明自己会对堆做什么:读什么,写什么,碰哪一块,接触什么。这些话是用一排位置词写成的,写在 builtin.effect 这个叶子里。位置不同,含义就不同。那这些位置各代表哪条轴,每条轴又允许哪些词,答案都写在 src/engine/lawmaker/effect/effect.feml 里。这一次,引擎读这个文件失败了,或者文件里一条轴都没有,或者位置撞车了,或者留下了空洞。你可能想,位置小事嘛。可是位置恰恰是词的含义的来源,只要有一个位置重复或缺失,builtins.feml 里的每一行,都会在悄无声息中指向别的轴,而没有任何一行改过一个字。这太危险了。所以引擎选择拒绝诞生。怎么办?看消息里的路径和原因,把文件修好。记住:位置就是含义,位置错了,含义就全错了。
文本来自 Rush 引擎的错误目录。
