ruby && 与 and 的区别
对于布尔表达式或流控制,&& 和 and 都可以使用。
它们之间的区别在于优先顺序。运算符 and 的优先级低于 =,而&&的优先级高于运算符 =。
考虑这两个布尔表达式。
puts var_1 = true && false
puts var_2 = true and false
输出:
false
true
两个表达式都返回 false,但 var_1 和 var_2 将分配给它们不同的值。
var_1 = true && false 等价于 var_1 = (true && false),var_1 等价于 false。
相反,var_2 = true and false 将被评估为 (var_2 = true) and false。这意味着 var_2 最终将包含值 true。
puts var_1
puts var_2
输出:
false
true
因此,切勿将 and 与这样的三元运算符一起使用。
s = true and 2.even? ? 'even' : 'odd'
puts s
输出:
true
我们可能期望它打印 even,但相反,它返回 true。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
发布时间:2024/02/05 浏览次数:181 分类:编程语言
-
本文演示了 ruby 中注入方法的不同用途。
发布时间:2023/03/21 浏览次数:241 分类:编程语言
-
本文介绍了在 ruby 程序中调用 shell 命令的各种方法。
发布时间:2023/03/21 浏览次数:86 分类:编程语言
-
简要讨论 ruby 中的模式匹配运算符及其使用方式。
发布时间:2023/03/21 浏览次数:89 分类:编程语言
-
本教程说明了如何在 ruby 中使用安全导航。
发布时间:2023/03/21 浏览次数:189 分类:编程语言
-
本文展示了如何在 ruby 中编写一行 if 语句

