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

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

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

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

如果您输入包含5 66 7 8 (由任何空格分隔),则打印[“5”,“66”,“7”,“8”]:

 p $stdin.readline.split 

要使它们成倍增加,请执行以下操作:

 q = 1 $stdin.readline.split.each {|n| q *= n.to_i } pq 

或者您可以使用String#scan

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

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