ここで見逃している微妙なものがあり{}
ます[]
。
IRB テストから取得した以下を参照してください。
irb(main):002:0> {'first' => 1, 'second' => 2}
=> {"second"=>2, "first"=>1}
irb(main):003:0> ['first' => 1, 'second' => 2]
=> [{"second"=>2, "first"=>1}]
irb(main):004:0> {'first' => 1, 'second' => 2}.class
=> Hash
irb(main):005:0> ['first' => 1, 'second' => 2].class
=> Array
これに似ています:
irb(main):006:0> {'first' => 1, 'second' => 2}.collect { |key,value| puts "#{key}:#{value}" }
second:2
first:1
=> [nil, nil]
irb(main):007:0> ['first' => 1, 'second' => 2].collect { |key,value| puts "#{key}:#{value}" }
second2first1:
=> [nil]
配列には、文字列としてすべてが連結された単一の要素 (ハッシュ) があります。これはここで注意すべき重要なことです。
一方、ハッシュは、予想されるキーと値のペアを渡すことによって反復します。
それが役立つことを願っています。