From: Jeremy McAnally Date: 2007-01-21T15:49:10+09:00 Subject: Re: What am i doing wrong? (number.to_i + 1).to_s You're trying to merge a String and a Fixnum into one object (i.e., you feed one big string obect to puts; you can't merge a Fixnum and String like that). The to_s method will convert the Fixnum you created with to_i and added one to back to a string for output. Kind of confusing I know, but if you got this far, I'm sure youll get it. :) --Jeremy On 1/21/07, Nick Nolan wrote: > I realize this is an extremely noobish question, but i'm stuck and can't > seem to figure it out (aside from some very simple HTML, i know nothing > about programming). > > I'm trying to follow Chris Pine guide here: > http://pine.fm/LearnToProgram/?Chapter=04 > > I'm trying this question he suggested: > � Write a program which asks for a person's favorite number. Have your > program add one to the number, then suggest the result as a bigger and > better favorite number. (Do be tactful about it, though.) > > This is what i have, but it's not working: > > puts 'What is your favorite number?' > number = gets > puts 'That is a good number, but ' + (number.to_i + 1) + ' is better!' > > However, if i remove the (number.to_i + 1) from that line, it prints out > the text just fine. And if i remove the text, so the line is only: > > puts number.to_i + 1 > > I get the correct results. But if i try to combine the two, i get: > TypeError: cannot convert Fixnum into String > > method + in untitled document at line 3 > at top level in untitled document at line 3 > > I'm using Textmate if that matters. > > -- > Posted via http://www.ruby-forum.com/. > > -- My free Ruby e-book: http://www.humblelittlerubybook.com/book/ My blogs: http://www.mrneighborly.com/ http://www.rubyinpractice.com/