我刚才注意到在Scala Boolean
支持&
和&&
。这两个运营商之间有区别吗? Scala文档对它们使用完全相同的描述,所以我不确定。
答案 0 :(得分:26)
&
和|
严格,&&
和||
短路:
false && (throw new Exception()) => false
false & (throw new Exception()) => ex
true || (throw new Exception()) => true
true | (throw new Exception()) => ex
&
和|
的完整文档附有解释此行为的说明:
此方法同时评估a和b,即使结果已经存在 在评估a。
后确定