• ベストアンサー

ruby 配列の中の文字列を全部数値にしたい

array=%w(1 2 3 4) のような文字列の配列があるとします。 これを数値の配列にしたいです。 以下の様にしてみました。 array=array.inject([]){|a,v| a<< v.to_i } これでも出来ましたが、もっとrubyらしい方法ってあったら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • sholmes
  • ベストアンサー率81% (89/109)
回答No.1

新しいArrayが欲しいならmap、既存のArray自体を書き換えたいならmap!が基本かなと思います。 (collectでもいいんですが) その中でいくつか記法は考えられるので、好きなものを選んで下さい http://ideone.com/WLxMN ただ、安全性を重視するなら to_i より Integer() の方がいいかなと思います。

kingfruits
質問者

お礼

sholmesさん、ご回答ありがとうございました。 map知りませんでした。 教えて頂いたサイト、面白いですね。 どうも有難うございました。