すごくつまらない質問ですいません。
Rubyでハッシュを定義するとき、以下は通りますが、
Ruby
1hash1 = { 2 :foo1 => "bar1", 3 :foo2 => "bar2" 4}
カンマの位置を変えるとエラーになります。
Ruby
1hash1a = { 2 :foo1 => "bar1" 3, :foo2 => "bar2" 4}
syntax error, unexpected ',', expecting '}', :foo2 => "bar2"
Ruby1.9から?の新しい書き方でもやはりエラーです。
Ruby
1hash2 = { 2 foo1: "bar1", 3 foo2: "bar2" 4}
Ruby
1hash2a = { 2 foo1: "bar1" 3, foo2: "bar2" 4}
むしろエラーが増えます。
syntax error, unexpected ',', expecting '}', foo2: "bar2"
syntax error, unexpected '}', expecting end-of-input
柔軟な記述を許容するRubyらしくないなと思ってしまったのですが、
何か理由がある動作なのでしょうか?
最初の書き方で書けばいいと言えばそれまでなのですが。
コメントにしやすいという理由で2番めの書き方のほうが好きなのです。
それとも何か勘違していますでしょうか?
ご回答頂ければ幸いです。
環境
Mac OS X El Capitan, Ruby2.3.1
回答2件
あなたの回答
tips
プレビュー