From: Emeka Patrick Date: 2011-12-10T09:14:12+09:00 Subject: Building a method - Learn to Program Section 9.5 In this program def ask question while true puts question reply = gets.chomp.downcase if (reply != 'yes' || reply != 'no') puts 'Please answer "yes" or "no".' elsif reply == '' break end end end puts 'Hello, and thank you for...' puts ask "Do you like eating tacos?" # Ignore this return value ask "Do you like eating burritos?" # And this one wets_bed = ask 'Do you wet the bed?' # Save this return value ask 'Do you like eating chimichangas?' ask 'Do you like eating sopapillas?' puts 'Just a few more questions...' ask 'Do you like drinking horchata?' ask 'Do you like eating flautas?' puts puts 'DEBRIEFING:' puts 'Thank you for...' puts puts wets_bed am I stuck in a loop where no matter whether I enter 'yes' or 'no' or anything at all after I'm asked --- Hello, and thank you for... Do you like eating tacos? --- I get back --- Please answer "yes" or "no". Do you like eating tacos? --- because I decided to ask if reply is different than 'yes' and/or different than 'no'? as well as ask if it's the same as an empty string, basically saying that this is a situation that will always be true? I got this program to work by rewriting it def ask question while true puts question reply = gets.chomp.downcase if (reply == 'yes' || reply == 'no') break else puts 'Please answer "yes" or "no".' if reply == '' break end end etc etc.... , but I want to understand what I'd need to do to get it to work with != method. Any insight / help would be appreciated. Thanks, Emeka PS I know since I didn't save a value for wets_bed I'm going to get nil back, but just want to figure out the other stuff first. --------- -- Posted via http://www.ruby-forum.com/.