Your problem is that this is always true: if reply == "no".to_s or "hell no".to_s or "nah".to_s That is: if reply == "no".to_s # This is a true/false result or "hell no".to_s # This will always return true, because "hell no" is true. You're missing the comparison there. You wanted: if reply == "no" or reply == "hell no" or reply == "nah" The "to_s" is unnecessary, console input is already a string. With your current code, "No" is treated differently from "no". You could try gets.chomp.downcase to make all input lowercase. It's the accepted practice in Ruby to use && || rather than "and" "or". In this particular instance I'd probably use a "case" statement with Regular Expressions to try and extract the content. -- Posted via http://www.ruby-forum.com/.