2011-07-19 12 views

答えて

2

があります:ルビー-1.9.2-P180を使用して

['fdfsd','gfdhgf'].inject(Hash.new){|sum,e| sum[e] = e} 

は、IndexError: string not matched

==解決しよう==同じ効果を持つ

['fdfsd','gfdhgf'].inject(Hash.new){|sum,e| sum[e] = e; sum} 
2

異なるアプローチを得ましたeach_with_object

>> ['fdfsd','gfdhgf'].each_with_object(Hash.new){|e,sum| sum[e] = e} 
=> {"fdfsd"=>"fdfsd", "gfdhgf"=>"gfdhgf"} 

injectと比較すると、ブロック引数は逆になり、アキュムレータを明示的に返す必要はないことに注意してください。この具体的なケースでは、私はJ-L-Lの答えを途中で出すだろう。

関連する問題