First off I apologize for the ‘noobishness’ of this question. I’m on a
quest to teach myself programming and I started off with Ruby. Now I’m
following online lessons and it’s going pretty well but I’m stuck on
program they suggested to make and I don’t want to move forward until I
know how to do it.
They want me to write a program that asks for someone’s favorite number
then add 1 to the number and say that the program thinks that number is
just a little bit bigger and better. This is what I have:
p ‘Hey you! What’s your favorite number?’
fav = gets.chomp
fav2 = fav.to_i + 1
p ‘…well that’s an OK number but don’t you think ’ + fav2 + ’ is a
little bit bigger and better?’
(I have puts abbreviated to p)
So far from what I’ve learned I’m stuck, what am I getting wrong here?
On Sat, Jan 14, 2012 at 4:14 PM, Brandon K. [email protected]
wrote:
First off I apologize for the ‘noobishness’ of this question. I’m on a
quest to teach myself programming and I started off with Ruby.
Welcome to Ruby
fav = gets.chomp
fav2 = fav.to_i + 1
p ‘…well that's an OK number but don't you think ’ + fav2 + ’ is a
little bit bigger and better?’
(I have puts abbreviated to p)
So far from what I’ve learned I’m stuck, what am I getting wrong here?
In your line
p ‘…well that's an OK number but don't you think ’ + fav2 + ’ is a
little bit bigger and better?’
You are “adding” 3 parts:
'…well that's an OK number but don't you think ’
this is a string (instance of String)
fav2
this is a Fixnum (could also be Bignum is very big number)
’ is a little bit bigger and better?’
this is a string again
Now, the ‘+’ operator cannot handle adding strings and numbers.
Either:
- you add numbers:
puts 1 + 3 + 4 #=> 8
- you add strings:
puts “I am” + " studying" + " ruby"
Now, you can convert numbers to strings with to_s
and you can convert strings to number with to_i (or to_f for floats).
So, this will work too:
puts “This is a nicer number:” + 36.to_s
puts 3 + “4”.to_i + 5
I leave the exercise to you for your specific code.
HTH,
Peter
Brandon,
Saturday, January 14, 2012, 8:14:32 AM, you wrote:
BK> First off I apologize for the ‘noobishness’ of this question. I’m on
a
BK> quest to teach myself programming and I started off with Ruby. Now
I’m
BK> following online lessons and it’s going pretty well but I’m stuck on
BK> program they suggested to make and I don’t want to move forward
until I
BK> know how to do it.
BK> They want me to write a program that asks for someone’s favorite
number
BK> then add 1 to the number and say that the program thinks that number
is
BK> just a little bit bigger and better. This is what I have:
BK> p ‘Hey you! What's your favorite number?’
BK> fav = gets.chomp
BK> fav2 = fav.to_i + 1
BK> p ‘…well that's an OK number but don't you think ’ + fav2 + ’ is
a
BK> little bit bigger and better?’
BK> (I have puts abbreviated to p)
BK> So far from what I’ve learned I’m stuck, what am I getting wrong
here?
Try this
puts ‘Hey you! What's your favorite number?’
fav = gets.chomp
puts “fav=” + fav
puts “fav.size=#{fav.size}”
fav2 = fav.to_i + 1
puts “fav2=” + fav2.to_s
puts ‘…well that's an OK number but don't you think ’ + fav2.to_s +
’ is a little bit bigger and better?’
and read these
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/217432
http://pine.fm/LearnToProgram/?Chapter=05
On Sat, Jan 14, 2012 at 4:54 PM, Brandon K. [email protected]
wrote:
really helped me out and I’m going to save it in case I need help in the
future!
You’re welcome.
Peter
Thank you very much Peter, that cleared some things up for me, I
successively completed it
p ‘Hey you! What’s your favorite number?’
fav = gets.chomp
fav2 = fav.to_i + 1
p ‘…well that’s an OK number but don’t you think ’ + fav2.to_s + ’
is a little bit bigger and better?’
That’s my final program, thanks again for a such a detailed answer, it
really helped me out and I’m going to save it in case I need help in the
future!
And Ralph, thank you for the extra reading!