0
0

More than 3 years have passed since last update.

Rubyで配列の中の文字列を数値に変更する方法

Last updated at Posted at 2020-07-08
array = ["1", "2", "3", "4", "5"]

のように配列の中に文字列で数字の値がある時に、配列の文字列を数値に変更する方法を書きます。

for文の方法

array = ["1", "2", "3", "4", "5"]

intArray = []
for n in array
  intArray.push(n.to_i)
end

# intArray => [1, 2, 3, 4, 5]

arrayとは別の配列intArray = []を作成します。
arrayの値をnで取得して、to_iで文字列を数値に変更、pushintArrayに値を代入していくという処理を繰り返します。

mapメソッドの方法

array = ["1", "2", "3", "4", "5"]

intArray = array.map{ |n| n.to_i }

# intArray => [1, 2, 3, 4, 5]

または

array = ["1", "2", "3", "4", "5"]

intArray = array.map(&:to_i)

# intArray => [1, 2, 3, 4, 5]

mapメソッドで配列arrayを繰り返し処理して値をnという変数に代入して、実行したい処理としてn.to_iまたは&:to_iという処理を実行しています。
実行した処理をintArrayに代入していきます。
こちらの場合は予めintArray = []のように定義しておく必要はありません。

map!を使用する方法もあり、こちらの場合は

array = ["1", "2", "3", "4", "5"]

array.map!{ |n| n.to_i }

# array => [1, 2, 3, 4, 5]

のようにarrayの配列を書き換えることができます。

参考サイト

https://techacademy.jp/magazine/19868
https://uxmilk.jp/21695

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0