我仍在使用erlang找到我的脚,并且我阅读了关于使用"和","或"运算符的文档,但为什么以下不评估?
X = 15,
Y = 20,
X==15 and Y==20.
Run Code Online (Sandbox Code Playgroud)
我期待终端中的"真实",但我在==之前得到"语法错误".
你可能不想使用和.有两个问题,首先,你已经注意到它的优先级是奇怪的,其次它不会使它的第二个参数短路.
1> false and exit(oops).
** exception exit: oops
2> false andalso exit(oops).
false
Run Code Online (Sandbox Code Playgroud)
andalso后来被引入语言,并且行为方式可能更熟悉.一般来说,除非你有充分的理由愿意和使用,否则也要使用.
顺便说一句,orelse相当于或.