当我在连续输入后尝试打印时,我得到一个空白数组。
puts "Enter the numbers you want"
arr = Array.new()
while gets
arr.each do |x|
arr =x.to_i
end
end
print arr, ","
输出:
Enter the numbers you want
1
2
3
^Z
[],
我想知道这是否是使用gets
的正确方法,以及在Ruby中处理连续输入的良好来源。
答案 0 :(得分:1)
它是空的,因为您实际上从未向该数组添加值。试试这个:
puts "Enter the numbers you want"
arr = []
while x = gets
arr << x.to_i # this line adds x (input from `gets`) to the array
puts arr.join(', ')
end
答案 1 :(得分:0)
您没有填充数组。 gets
返回您输入的字符串。你忽略了它。
如果你想从用户输入填充数组,你应该有这样的东西:
puts "Enter the numbers you want"
arr = []
while input = gets
arr << input.chomp # strip off trailing newline
end
p arr