#ruby #input
#ruby #ввод
Вопрос:
Я не могу понять, как использовать несколько входных данных из одной строки. Вот пример:
p=gets.chomp().to_i
q=gets.chomp().to_i
puts"#{p} #{q}"
Когда я запускаю это и принимаю входные данные, я должен использовать их из новой строки. Например.,
3
4
output:
3 4
Если я введу
3 4
он не принимает 4
в качестве входных данных и ожидает другого ввода из следующей строки. Что следует сделать?
Ответ №1:
gets
читается во всей строке. Если вы хотите обработать несколько элементов из него, вам нужно split
обработать эту строку или выполнить сопоставления регулярных выражений с ней и т.д. В вашем случае:
p, q = gets.split.map(amp;:to_i)
Кстати, в вашем коде chomp
вызовы излишни, поскольку to_i
будут работать корректно независимо от того, заканчивается строка новой строкой или нет.