目標:プログラミング問題でよくある文字列と数値が混ざったものを1行で入力値を受け取りたい
入力例
-
3 Tanaka 24 Sato 35 Suzuki 12
実践
#最初の3を変数に代入する n = gets.to_i #新たな変数に空の配列を多重代入する。 name,age = [],[] #n回 (3回) i == 0 のとき、つまり最初の文字列をnameに文字列として代入 #半角スペースを挟んだ数値をageに数値として代入する。 n.times.map { gets.split.map.with_index { |val, i| i == 0 ? name << val : age << val.to_i } } #nameとageに期待していたように入っているか確認する。 p name, age
https://paiza.io/projects/4T8pWrwlF0UOH0goc0gopw
↑こちらにコピペして「実行」で確認できます。
↓このような出力結果になっていて、nameに文字列がageに数値が入っていることが確認できます。