错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
引擎启动时,要读取类型法则,给每一个类型造一位判官。这一次,有一个类型带来了一段判官的说明文字,可 tungsten 读不懂。这段文字叫 piece 文本,它有一套固定的语法:要么是一个简单的叶子名字,要么是用 and、or、not、implies 这些组合子搭成的一棵树,树里还可以再套树。你写的那段文字,不符合这套语法,所以这个类型就没有判官,而没有判官的类型,是不能上岗的。引擎选择拒绝诞生,而不是带着一个不会判断的类型继续往前走。怎么修呢?别靠猜,在 shell 里先验证。输入 w,后面跟引号括起来的 piece 文本,再写 check,和一个测试值,看看 tungsten 怎么说。读得懂了,再把这段文本写回 types.feml。例如括号少了一个,或者组合子的名字拼错了,都会读不懂。记住:声明之前,先在 shell 里试一试。
文本来自 Rush 引擎的错误目录。
