我想在同一行中获取多个整数输入
例如: - 输入 -1 -1 500 500
这样我就可以繁殖它们。我从键盘输入一个字符串 - 那我该怎么办?
答案 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数组