[ruby-list:50055] Re: x ||= 1

From: Nobuyoshi Nakada <nobu@...>
Date: 2015-01-13 04:43:52 UTC
List: ruby-list #50055
On 2015/01/13 12:40, 5.5 wrote:
> そして,x ||= 1 は,本当は何なんでしょうか。

x = x || 1 の簡略版です。
ローカル変数ではあまり差はありませんが、左辺が長い式のときなどに便利です。

また、
  foo.bar.zot.x = foo.bar.zot.x || 1
ではfoo.bar.zot が二回評価されますが、
  foo.bar.zot.x ||= 1
では一回だけ、かつ#xと#x=のレシーバは同じオブジェクトです。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread