可能重复:
Ruby中的|| =是什么意思?
我测试过这样:
>> a||=3
=> 3
>> a
=> 3
>> a||=b
=> 3
>> b
NameError: undefined local variable or method `b' for main:Object
from (irb):11
Run Code Online (Sandbox Code Playgroud)
它是逻辑OR运算的简写.它相当于:
a || a = b
Run Code Online (Sandbox Code Playgroud)
注意:上述代码示例已更正,以反映展开时的真实(如果不直观)行为a ||= b.感谢那些为我指出这一点的人. 这是来源
如果a计算结果为true,它将保持原样,否则b将被分配给a.在ruby nil求值时false,您可以看到这对延迟加载和默认值赋值有何用处.
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |