数组类型错误:无法转换为长整数字符串
问题描述:
我与阵列实验,和我由史蒂夫Holzner读的书开始Ruby on Rails的。我制作的节目:
I am experimenting with arrays, and am reading the book "Beginning Ruby on Rails" by Steve Holzner. I made the program:
array = ['Hello', 'there', 1, 2]
puts array[1]
puts array[3]
puts array.length
array2 = Array.new
puts array2.length
array2[0] = "Banana"
array2[1] = 6
puts array2[0] + " " + array2[1]
puts array3.length
它没有做太多,但是当我运行它,我得到的错误
It doesn't do much, but when i run it i get the error
arrays.rb:9:in `+': can't convert Fixnum into String (TypeError)
from arrays.rb:9
为什么我得到这个错误?
Why do I get this error?
答
您不能添加一个字符串和一个整数( Fixnum对象
),在这种情况下,你试图加6到香蕉。
You can't add a string and a integer (Fixnum
), in this case you tried to add 6 to "Banana".
如果在第9行,你这样做:
If on line 9 you did this:
puts array2[0] + " " + array2[1].to_s
您将获得:
"Banana 6"