On 11-May-06, at 9:41 PM, corey konrad wrote:

> what is going on here, i dont understand why i keep getting conversion
> errors. i am making a conversion from a string to and integer i dont
> understand why it isnt working.
>
> irb(main):036:0> def favorite_number
> irb(main):037:1>   puts "what is your favorite number?"
> irb(main):038:1>   s_num = gets.chomp
> irb(main):039:1>   i_num = s_num.to_i
> irb(main):040:1>   i_num = i_num+1
> irb(main):041:1>   puts "this is a better number" + i_num
> irb(main):042:1> end
> => nil
> irb(main):043:0> favorite_number
> what is your favorite number?
> 5
> TypeError: can't convert Fixnum into String
> 	from (irb):41:in `+'
> 	from (irb):41:in `favorite_number'
> 	from (irb):43
> 	from :0

Consider:

ratdog:~ mike$ irb
irb(main):001:0> puts "is this 5?" + 5
TypeError: can't convert Fixnum into String
         from (irb):1:in `+'
         from (irb):1
         from :0

you might consider puts "this is a better number" + i_num.to_s, or  
using "this is a better number #{i_num}"

Hope this helps,

Mike

-- 

Mike Stok <mike / stok.ca>
http://www.stok.ca/~mike/

The "`Stok' disclaimers" apply.