错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
想一想,一个内置函数,如果不说明它会对堆做什么,会怎样?在老版本里,内置函数拿到参数,返回一个值,根本碰不到堆,所以不说明,倒也诚实。可现在不同了,内置函数可以使用 fedex 的门,能碰堆了。这时候,沉默就不再是诚实,而是一个缺口:没有人知道它能不能写,账本也没有声明可以拿来检查这次运行。所以每个内置函数,都必须在它的一行里,写上 builtin.effect,依次说明读什么、写什么、分区、触碰什么。引擎为什么不替你默认成什么都不写呢?因为默认出来的效应,是没人声明过的,而把效应放进声明里的全部意义,就是声明的触及范围,本来就是这一行的一部分。怎么办?补上这一条。每条轴能用的词,都在 effect.feml 里,加词不用碰任何 C 文件。记住:说清你会做什么,再做。
文本来自 Rush 引擎的错误目录。
