Извлечь и несколько целых чисел из пользовательской строки ввода в Ruby? - PullRequest
2 голосов
/ 21 мая 2009

Я хочу взять несколько целочисленных входов в одной строке

Например: - ввод -1 -1 500 500

чтобы я мог их умножить. Я беру ввод в строку с клавиатуры - тогда что мне делать?

Ответы [ 3 ]

7 голосов
/ 21 мая 2009

Это печатает ["5", "66", "7", "8"], если вы печатаете строку, содержащую 5 66 7 8 (разделенную пробелами):

p $stdin.readline.split

Чтобы их умножить, сделайте что-то вроде этого:

q = 1
$stdin.readline.split.each {|n| q *= n.to_i }
p q
1 голос
/ 21 мая 2009

Или вы можете использовать String#scan:

irb> "input -1 -1 500 500".scan(/[+-]?\d+/).map { |str| str.to_i } 
#=> [-1, -1, 500, 500 ]
0 голосов
/ 21 мая 2009
array = input.split(' ')

или, если вы вводите их в качестве параметров командной строки, просто используйте массив ARGV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...