[あなごる] Negatenary
2009-09-14


抜かれていたので少し考えた。

Statisticsの差からして、括弧の省略の問題なのはほぼ明らかなんだけど、この括弧は省略できないものと思っていた。 思い込みは恐しい。

というか、この括弧は1.8.5だと省略できないのは確認していたんだけど、実は1.8.7では省略できるのであった。

この間のどこかで、構文解析規則が変わったようだ。

具体的には

method_a((a+b).method_b)

から括弧を省略しようという意図で

method_a (a+b).method_b

と書いた場合

1.8.5では

method_a(a+b).method_b

と解釈され(*)method_aの戻り値に、method_bを適用することになっていたのだけど、1.8.7では意図どおりの動作をするようになっている。

(*)そして、'warning: don't put space before argument parentheses'のwarningが出る。

[Ruby]
[Golf]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット