RX0167

领域: 解析

错误消息

在应该是值的地方出现了 `if`:%s(%s)

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

小故事

你想根据一个条件,给 x 一个值,于是写了 x 等于 if ok,是,else,否,就像别的语言里的三元表达式。可是,在 rush 里,if 是一个流,它的作用,是在几条语句之间选择路线,它自己,不产生值。所以,等号右边,没有东西可以绑定。以前,引擎会告诉你,名字 if 找不到,让人摸不着头脑,现在,它会直接教你怎么写:把绑定,放进每一个分支里面。也就是,if ok,下面缩进一行,x 等于,是;然后 else,下面缩进一行,x 等于,否。分支负责绑定,而这个名字,属于所在的模块。怎么改?按这个写法,改写。记住:if 是选路线的,不是产生值的。

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