Rubyの配列に文字列として入っている数字をFixnumに一括置換する方法
eachで回して一つ一つto_iして上書きしてもいいですが、以下のようにすると1行で書けます
方法
配列.map(&:to_i)
- map!で破壊的に上書き
検証
ソースコード
array = ["1", "2", "3", "0", "10\r\n", nil, "", "-5"] array.map(&:to_i).each{|val| puts "#{val}: #{val.class}" }
実行結果
1: Fixnum 2: Fixnum 3: Fixnum 0: Fixnum 10: Fixnum 0: Fixnum 0: Fixnum -5: Fixnum