尝试在循环中根据输入创建数组-Ruby

时间:2019-05-05 19:13:02

标签: arrays ruby loops gets

我正在尝试创建一个向用户询问数字的程序,该程序一直向用户询问数字,直到输入“停止”为止,此时将返回数字的总和。

代码工作正常,但我意识到第一个puts / gets.chomp不在循环内,没有被添加到数组中。我不知道该如何实现,任何帮助的想法都将不胜感激!

array = []

puts 'Give me a number'

answer = gets.chomp

until answer == "stop"
  puts 'Give me a number'
answer = gets.chomp
  array.push(answer)
end

array.pop

array

1 个答案:

答案 0 :(得分:2)

您遇到这样的情况。

do something
determine if we should stop
do something else
repeat

对于这种精细控制,请使用loop重复进行,直到您break为止。

# Initialize your list of numbers.
numbers = []

# Start a loop.
loop do
  # Get the answer.
  puts 'Give me a number'
  answer = gets.chomp

  # Stop if the user wants to stop.
  break if answer == 'stop'

  # Store the number after checking that it is a number.
  numbers.push(answer)
end

p numbers