预期输入为数字但得到 TRUE/FALSE
Expected input to be a number but got TRUE/FALSE
我得到了这段代码:
to catch-rose
let prey one-of roses-here
if prey != nobody
[
set energy energy + 1
set rose_ramasse rose_ramasse + 1
ask prey [ die ]
]
end
当我启动模拟时,收到以下错误消息
+ expected input to be a number but got the TRUE/FALSE false instead.
error while unefeebleue 2 running +
called by procedure CATCH-ROSE
called by procedure GO
called by Button 'go'*
我一直在尝试自己解决我的问题,但我做不到。为什么它不想识别第二个 SET 命令?为什么它认为它是 true/false 语句?
错误消息告诉您以下内容:
- 它从失败的操作开始。这通常是过程名称,在本例中为
+
。所以你知道这是失败的 +
的输入之一。
- 它告诉您
+
的输入之一是 TRUE/FALSE
值。
现在,您告诉我们它引用的行是第二个 set
语句。该行的 +
有两个输入,rose_ramasse
和 1
所以,您的问题是 rose_ramasse
是一个 TRUE/FALSE
(布尔值)。如果没有其余代码,则不清楚 rose_ramasse
是否是全局变量,因此很难进一步帮助您找出 rose_ramasse
被分配布尔值的位置。
我可以使用如下简单的函数复制错误消息:
globals [age]
to go
set age TRUE
set age age + 1
我得到了这段代码:
to catch-rose
let prey one-of roses-here
if prey != nobody
[
set energy energy + 1
set rose_ramasse rose_ramasse + 1
ask prey [ die ]
]
end
当我启动模拟时,收到以下错误消息
+ expected input to be a number but got the TRUE/FALSE false instead. error while unefeebleue 2 running + called by procedure CATCH-ROSE called by procedure GO called by Button 'go'*
我一直在尝试自己解决我的问题,但我做不到。为什么它不想识别第二个 SET 命令?为什么它认为它是 true/false 语句?
错误消息告诉您以下内容:
- 它从失败的操作开始。这通常是过程名称,在本例中为
+
。所以你知道这是失败的+
的输入之一。 - 它告诉您
+
的输入之一是TRUE/FALSE
值。
现在,您告诉我们它引用的行是第二个 set
语句。该行的 +
有两个输入,rose_ramasse
和 1
所以,您的问题是 rose_ramasse
是一个 TRUE/FALSE
(布尔值)。如果没有其余代码,则不清楚 rose_ramasse
是否是全局变量,因此很难进一步帮助您找出 rose_ramasse
被分配布尔值的位置。
我可以使用如下简单的函数复制错误消息:
globals [age]
to go
set age TRUE
set age age + 1