今日は毎月恒例の RHG 読書会でした。 今回は難所の状態付きスキャナだったのですが、 またしても新たな Ruby の心の^H^H闇が発見されました。 それは……多重代入の右辺に来るかどうかで解釈が変わる式がある。
m (a), b { nil } x, y = m (a), b { nil }
前者は m((a), b{nil}) なんですが、 後者は m(a) と b{nil} の二項と解釈されます。
なお、引数をシンプルにするとまた解釈が違います。
m a, b x, y = m a, b
これだと上下とも m(a, b) になるんですねえ。謎。 どっちがいいのかも謎。
(02:45)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.