From: maestroiut-rubytalk@... Date: 2007-12-16T20:34:09+09:00 Subject: Re: I need help debugging my program ----- Original Message ---- > From: Icarus Daedalus > To: ruby-talk ML > Sent: Sunday, December 16, 2007 11:48:23 AM > Subject: I need help debugging my program > > I'm new to Ruby and I'm trying out a very basic user input program. The > codes below and also I've indicated the line giving me grief. That is not surprising since Ruby does not automatically cast values like it is done in other languages. > puts "What is your name?" > name = gets.chomp > puts "How old are you?" > age = gets.chomp You may have written the above as age = gets.chomp.to_i > age.to_s Note that does nothing since in your code age is already a string and you do not use the resulting value. > puts "What year is it?" > year = gets.chomp add a .to_id to get an integer. and since you do the same thing twice, you could: def geti gets.chomp.to_i end then use geti and later improve it to detect an incorrect integer format. > birth = year -= age #********************************************* Why do you use the -= which has a side effect on the year variable? birth = year - age > puts name + " is " + age + " and was born in " + birth will not work since now you would be adding strings and integers together. You could write: puts name + " is " + age.to_s + " and was born in " + birth.to_s or in more Ruby style: puts "#{name} is #{age} and was born in #{birth}" > Any help you could give me would be appreciated. Thanks! You are most welcome, Christophe > -- > Posted via http://www.ruby-forum.com/. > >