Попытка создать массив из ввода в цикле - Ruby - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь создать программу, которая запрашивает у пользователя номер, программа продолжает запрашивать у пользователя номер, пока не будет введен «стоп», и в этот момент возвращается сумма чисел.

Код вроде работает, но я понимаю, что первый файл put / 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 Ответ

2 голосов
/ 05 мая 2019

У вас такая ситуация.

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
...