From: Ant Walliams on
Rob Biedenharn wrote:
> On May 28, 2010, at 2:59 PM, Ant Walliams wrote:
>> making your changes. Any ideas?
>>
>> Thanks
>> Ant
>
> the problem is with number+=1
>
> number is a string because gets.chomp is a string
>
> number+=1 is syntactic sugar for
> number = number + 1
>
> And the expression number + 1 is trying to add 1 (a Fixnum) to a string
>
> Try changing:
>
> number = gets.chomp.to_i
>
> to convert the string into an integer (which if small enough will be
> held in an instance of Fixnum).
>
> Then, you'll have the opposite problem with the last line unless you
> incorporate Reid's suggestion.
>
> -Rob
>
> Rob Biedenharn http://agileconsultingllc.com
> Rob(a)AgileConsultingLLC.com


Thank you very much, that worked. And thanks for the explanation of how
it works as well, that really helps.

Thanks
Ant
--
Posted via http://www.ruby-forum.com/.

From: Jaime Gonzalez on
[Note: parts of this message were removed to make it a legal post.]

Hi, just do this:

puts "What is your favourite number?"
number = gets.chomp
number+=1
puts "Do you not think #{number.to_s} is a better number?"

Best regards.

On Fri, May 28, 2010 at 12:13 PM, J-H Johansen <ondemannen(a)gmail.com> wrote:

> On Fri, May 28, 2010 at 8:59 PM, Ant Walliams
> <anthonywainwright(a)googlemail.com> wrote:
> > Reid Thompson wrote:
> >> On Sat, May 29, 2010 at 03:29:15AM +0900, Ant Walliams wrote:
> >>> Hi there,
> >>> puts 'What is your favourite number?'
> >>> number = gets.chomp
> >>> number+=1
> >>> puts 'Do you not think' + number + 'is a better number?'
> >> puts 'Do you not think' + number.to_s + 'is a better number?'
> >
> > Thank for the reply but I am still getting the same error even after
> > making your changes. Any ideas?
> >
> > Thanks
> > Ant
> > --
> > Posted via http://www.ruby-forum.com/.
> >
> >
>
> You need to convert the input from String to Fixnum
>
> puts "What is your favourite number?"
> number = gets.chomp.to_i
> number+=1
> puts "Do you not think #{number} is a better number?"
>
>
> --
> Jens-Harald Johansen
> --
> There are 10 kinds of people in the world: Those who understand binary and
> those who don't...
>
>


--
Jaime Gonzalez.

From: Angus Hammond on
On 28/05/10 19:29, Ant Walliams wrote:
> Hi there,
>
> Sorry this is probably going to be a real easy question but I am totally
> new to programming.
>
> I was following some tutorial online and at the end of the first chapter
> it said 'Now create a program that asks the user for a number and then
> suggests a higher number as a better option.
>
> So what I wanted to happen below is it takes the users input and just
> adds 1 to it. But is is coming back with "rb:3:in '+' can't convert
> fixnum into string'
>
> puts 'What is your favourite number?'
> number = gets.chomp
> number+=1
> puts 'Do you not think' + number + 'is a better number?'
>
> Any help would be appreciated its doing my head in.
>
> Thanks
>
When you call gets.chomp it returns a string (lets say it's "5"). That
looks like a number to you and me but ruby treats it as text. You need
to tell ruby to make it a number using .to_i.
ie The second line should read gets.chomp.to_i

Then ruby will be adding 5+1 and not "5"+1. I found that a good way to
think of this was to replace "5" with a word or something. Could you do
"hello"+1?

Angus


From: Karthikeyan A K on
[Note: parts of this message were removed to make it a legal post.]

puts 'What is your favourite number?'
number = gets.chomp
number = number.to_i # converts the number from String to Integer
number+=1
puts 'Do you not think' + number + 'is a better number?'

On Sat, 2010-05-29 at 03:29 +0900, Ant Walliams wrote:

> Hi there,
>
> Sorry this is probably going to be a real easy question but I am totally
> new to programming.
>
> I was following some tutorial online and at the end of the first chapter
> it said 'Now create a program that asks the user for a number and then
> suggests a higher number as a better option.
>
> So what I wanted to happen below is it takes the users input and just
> adds 1 to it. But is is coming back with "rb:3:in '+' can't convert
> fixnum into string'
>
> puts 'What is your favourite number?'
> number = gets.chomp
> number+=1
> puts 'Do you not think' + number + 'is a better number?'
>
> Any help would be appreciated its doing my head in.
>
> Thanks


Regards
A.K.Karthikeyan,
Prop. Mind As Lab
http://mindaslab.in

From: wang on
[Note: parts of this message were removed to make it a legal post.]

unsubscribe