从Ruby中的用户输入字符串中提取和多个整数?

时间:2009-05-21 11:56:12

标签: ruby

我想在同一行中获取多个整数输入

例如: - 输入         -1 -1          500 500

这样我就可以繁殖它们。我从键盘输入一个字符串 - 那我该怎么办?

3 个答案:

答案 0 :(得分:7)

如果您输入包含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 :(得分:1)

或者您可以使用String#scan

irb> "input -1 -1 500 500".scan(/[+-]?\d+/).map { |str| str.to_i } 
#=> [-1, -1, 500, 500 ]

答案 2 :(得分:0)

array = input.split(' ')

或者,如果您将它们作为命令行参数输入,只需使用ARGV数组