From: Ant Walliams on 28 May 2010 15:17 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 28 May 2010 15:18 [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 28 May 2010 15:30 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 31 May 2010 21:10 [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 31 May 2010 22:05 [Note: parts of this message were removed to make it a legal post.] unsubscribe
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: Hash : TypeError: can't convert Symbol into Integer Next: Dynamic SVG with Ruby/Tk |