What does ||= (or-equals) mean in Ruby?

前端 未结 23 2928
情书的邮戳
情书的邮戳 2020-11-21 23:20

What does the following code mean in Ruby?

||=

Does it have any meaning or reason for the syntax?

23条回答
  •  不思量自难忘°
    2020-11-21 23:45

    ||= is a conditional assignment operator

      x ||= y
    

    is equivalent to

      x = x || y
    

    or alternatively

    if defined?(x) and x
        x = x
    else 
        x = y
    end
    

提交回复
热议问题