From: Ashley Wharton Date: 2008-02-12T10:29:37+09:00 Subject: Re: New user - correct way to think and write code ------=_Part_13065_5855844.1202779785635 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Thanks so much. On Feb 11, 2008 7:33 PM, Morton Goldberg wrote: > On Feb 11, 2008, at 7:24 AM, Robert Klemme wrote: > > > 2008/2/11, Ashley Wharton : > >> ... > > > >> With further help from Kastner: > >> > >> MAX = 100000 > >> > >> def get_number(prompt = "") > >> print prompt > >> # ruby methods return the last value > >> gets.to_i > >> end > >> > >> def print_from_to(start, stop) > >> start.upto(stop) do |number| > >> puts number > >> end > >> end > >> > >> loop do > >> number = get_number "Please enter a number less than #{MAX}: " > >> next if number >= MAX > >> print_from_to(number, MAX) > >> break > >> end > > > > As far as I can see you logic is: read user input until it is valid > > and then print from input to MAX. I would remove the printing from > > the loop because that is much cleaner. > > I interpret Robert as saying that he prefers something like: > > > #! /usr/bin/env ruby -w > > MAX = 100_000 > > def get_number(prompt = "") > print prompt > gets.to_i > end > > def print_from_to(start, stop) > start.upto(stop) { |number| puts number } > end > > number = MAX > while number >= MAX > number = get_number "Please enter a number less than #{MAX}: " > end > print_from_to(number, MAX) > > > So do I. > > Regards, Morton > > ------=_Part_13065_5855844.1202779785635--