RX0116

领域: 解析

错误消息

一个没有标签的角色:%s(%s)

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

小故事

想象一个函数,有两个参数,类型一样,都是数字,可是意思不一样:一个是起点,一个是终点。调用的时候,如果只写 一,三,你分得清哪个是起点,哪个是终点吗?在 rush 里,位置的先后,从来不代表角色,所以,两个参数都要带上标签:start 冒号一,end 冒号三。如果只给其中一个写了标签,另一个靠排除来猜,引擎是不接受的。当然,有个例外:调用里那一个存在,可以光着,不用标签,比如 range,写一,再写 end 冒号十,就是合法的。另外,类型一样、角色也一样的,比如加法的两个操作数,就不需要标签。怎么改?给扮演不同角色的两个参数,都加上标签。记住:位置不说话,标签才说话。

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