Если у вас возникли трудности с чем-то, первое, что вы должны сделать, это попробовать что-нибудь попроще.
Вместо того, чтобы делать gets
и циклы, просто попробуйте сделать простой gets
.
puts 'Hi, do you need something sorted?'
yn = gets.chomp
Тогда я бы посмотрел, если бы yn
было тем, что я ожидал.
Следующее, что я сделал бы, вместо того, чтобы делать цикл много раз, просто попробуйте один раз
puts 'Hi, do you need something sorted?'
yn = gets.chomp
if yn != 'no'
puts 'What else?'
array = [gets]
yn = gets.chomp
STDERR.puts "array is #{array.inspect}"
STDERR.puts "yn is #{yn.inspect}"
end
Тогда вы, надеюсь, поймете, что array
и yn
оба получают ввод, что не имеет смысла.
Дополнительные советы по отладке кода Ruby см. Как отлаживать скрипты на Ruby?