Основы программирования на Ruby - PullRequest
0 голосов
/ 31 января 2012

У меня есть следующий код ruby, от учебы к книге программ. Я понимаю это, однако он просит меня попытаться удалить переменную good_answer и ответить. Он говорит, что мне придется использовать return для выхода из цикла. Я не уверен, с чего начать. Любые подсказки были бы хороши, я просто хочу выяснить это.

def ask question
  good_answer = false
  while (not good_answer)
    puts question
    reply = gets.chomp.downcase

    if (reply == 'yes' or reply == 'no')
      good_answer = true
      if reply == 'yes'
        answer = true
      else
        answer = false
      end
    else
      puts 'Please answer "yes" or "no".'
    end
  end #while ends here

  answer #This is what we return (true of false)
end

puts 
ask('Do you like eating Cheese?')
ask('Are you crazy?')
rain = ask 'Do you like rain?'

puts rain

1 Ответ

1 голос
/ 31 января 2012

Я бы просто сделал то, что он говорит - поместите return там, где используется answer:

def ask question
  while (true)
    puts question
    reply = gets.chomp.downcase

    if (reply == 'yes' or reply == 'no')
      if reply == 'yes'
        return true
      else
        return false
      end
    else
      puts 'Please answer "yes" or "no".'
    end
  end #while ends here
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...