#ruby #arrays #input
#ruby #массивы #ввод
Вопрос:
Я использую следующий код для вставки значения массива из той же строки ввода
s = Array.new(10)
q = gets
s = q.split(' ')
Это работает нормально. но если я не хочу сначала сохранять переменную для сохранения и после этого разделять, а напрямую принимать входные данные в массив, используя следующий код, я потерплю неудачу.
s = Array.new(10)
10.times do
s.push gets.split.map(amp;:to_i)
end
Какой правильный код принимает целочисленные входные данные из той же строки? Нужна помощь.
Комментарии:
1. Гарантируется ли, что строка из пользовательского ввода всегда содержит ровно десять чисел?
2. Ваш первый код не имеет смысла. Вы создаете массив
s
и сразу же перезаписываете его.
Ответ №1:
Вам не нужно сначала объявлять массив. метод split возвращает массив, и вы можете присвоить его переменной. Это сделает
s = gets.split(' ').map amp;:to_i