RX0187

领域: 执行

错误消息

不是数字的文本:%s(%s)

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

小故事

你刚才运行脚本,屏幕上跳出一行红字:不是数字的文本。别慌,这其实是引擎在认真地告诉你一件事:它想把一段文字当成数字来用,可是这段文字根本读不成数字。为什么这么严格?因为引擎里的数字都是精确的,它宁可停下来,也不愿意随便猜一个答案糊弄你。来看个小例子。你写了 to.number 加上文本 1.2.3,结果有两个小数点,引擎没法决定这到底是几,于是拒绝并把原文告诉你。修法很简单:先检查文本里是不是只有数字、最多一个小数点,必要时再带一个正负号或者指数。如果你用的是 to.bool,那就记住它只认 0 和 1。下次再看到这行红字,先看括号里的原因,十有八九一眼就能找到问题。引擎不是在刁难你,它是在保护你的结果不出错。

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