Как я могу использовать несколько входных данных из одной строки?

#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 будут работать корректно независимо от того, заканчивается строка новой строкой или нет.