From: simonh Date: 2006-07-19T16:55:14+09:00 Subject: Re: more newbie help with classes and methods please Thanks for replies. Just to point out, this code is not meant for anything in particular, just an example to help me learn ruby. I wanted to understand recursion better which I now do. Also to understand ranges and if statements too. What I'm trying to do here is understand how to branch inside a method. What are the benefits of using case instead of if? I was going to look at case a bit later on. The commented code below is what I've tried but it does not work too well. if i type 21 its says 'have a nice holiday!' then 'Incorrect Input' and prompts me again. ----------------------------------------------------------------------- def check_age print "Please enter your age (or type 'h' for help): " age = gets.chomp target = 18..30 valid = /^\d{2}/ # if age == 'h' # puts # puts "Example: if you are twenty five, type 25" # puts # check_age #end if valid.match(age) if target === age.to_i puts 'Have a nice holiday!' elsif age.to_i < 18 puts 'Sorry, too young.' elsif age.to_i > 30 puts 'Sorry, too old.' end else puts "Incorrect input." puts check_age # Try again end end check_age gets