【发布时间】:2020-02-21 13:36:24
【问题描述】:
刚刚被一个不清楚的指令绊倒:
a = 5 || 3 # ==> 5
verdict = true || false # ==> true
既然|| 与or 相同,那么如何和/或为什么要使用这个语句?除了总是选择第一个选项之外,它并没有真正展示任何决策。
我知道||= 分配,但这是不同的。寻找有关|| 上述用法的说明。
【问题讨论】:
-
number = options[:number] || 42 -
你是在哪里偶然发现这个例子的?像这样使用它没有任何意义。
-
@Rich_F @AlekseiMatiushkin 的例子实际上更有意义,因为
options[:number]可以是nil并且使用number = options[:number] || 42您确保分配options哈希中的数字或@987654332 @ .nil || 42 #=> 42. -
是的,没错,它更像
if true; else; -
@Rich_F Difference between
orand||