Erlang复合布尔表达式

时间:2009-12-08 17:08:56

标签: erlang boolean

我仍在寻找使用erlang的脚,并且我阅读了有关使用“和”,“或”运算符的文档,但为什么以下内容未进行评估?

X = 15,
Y = 20,
X==15 and Y==20.

我期待终端中的“真实”,但我在==之前得到“语法错误”。

4 个答案:

答案 0 :(得分:10)

尝试:

X = 15.
Y = 20.
(X==15) and (Y==20).

答案 1 :(得分:8)

您可能不想使用和。有两个问题,首先,你已经注意到它的优先级很奇怪,其次它不会使第二个参数短路。

1> false and exit(oops).
** exception exit: oops
2> false andalso exit(oops).
false

并且后来也引入了该语言并且表现得更加熟悉。一般来说,除非你有充分的理由愿意和使用,否则也要使用。

顺便说一句,orelse相当于或。

答案 2 :(得分:5)

没有大括号你也可以

X = 15.
Y = 20.
X == 15 andalso Y == 20.

答案 3 :(得分:2)

相关问题