Разделить строку на целое число из однострочного пользовательского ввода? - PullRequest
1 голос
/ 24 декабря 2010

Я только начал изучать некоторый ruby, и я хочу сделать что-то вроде этого:

print "Insert two numbers: "
a, b = gets.split(" ")

, но я хочу сделать a и b одновременно целыми числами (в одной строке).Если я добавлю .to_i во вторую строку (до или после split(" ")), это не сработает ... так как мне подойти к этому?картирование, расщепление, нарезка?хорошо, я знаю, что могу использовать scanf, но кроме как scanf, как мне это сделать?

извините за такой дурацкий вопрос, но я просто не мог найти достаточно хороший ответ, только погуглив ...

Ответы [ 2 ]

5 голосов
/ 24 декабря 2010
a, b = gets.split(" ").map(&:to_i)

или более универсальный:

a, b = gets.scan(/\-?\d+/).map(&:to_i)
1 голос
/ 30 апреля 2016
a , b = gets.split.map { |num| num.to_i }

Это должно работать

...