Что означает следующий код в Ruby?
||=
Имеет ли оно какое-либо значение или причину для синтаксиса?
||= присваивает значение правому значению только в том случае, если left == nil (или не определено, либо false).
irb(main):001:0> a = 1 => 1 irb(main):002:0> a ||= 2 => 1
Поскольку a уже был установлен на 1
a
1
irb(main):003:0> a = nil => nil irb(main):004:0> a ||= 2 => 2
Потому что a было nil
nil