显然,or
和and
在NetLogo中具有相同的优先级。 (参见编程手册中的Syntax。)此外,它们显然是左联的。所以
true or true and false
返回false
。
是否有理由做出这个决定?
(算术运算符具有正常的优先级。)
答案 0 :(得分:4)
许多编程语言的优先级高于and
or
。正如您所见,NetLogo没有。
该决定肯定早于2011年NetLogo的开源。
我无法完全确定,但我很确定这个决定早于我参与NetLogo(始于2001年)。我不记得有人在这几年里曾经问过这个问题。
很可能没有人知道这是否是有意识决定的产物,或者是什么。 (很有可能它只是从StarLogoT中复制而来,这会使原来的选择更加深入到过去昏暗的地方。)
使and
更高的优先权对我来说似乎是一个合理的改变。也许曾经有人担心与StarLogoT或UCB Logo的兼容性,但这不再重要。今天,任何兼容性问题都与现有的NetLogo代码有关。