Arrays 数组索引0设置为变量,然后返回nil值Ruby
使用下面的puts命令,我输出变量Arrays 数组索引0设置为变量,然后返回nil值Ruby,arrays,ruby,object,Arrays,Ruby,Object,使用下面的puts命令,我输出变量new_array的内容及其索引0处的内容,我还将其存储在名为first element的变量中。然后我输出first_元素的类,并得到返回的nil类。有人能解释为什么会这样吗?还有,有没有更好的方法 谢谢 new_array = [] first_element = new_array[0] array = ["1", "2"] array.each do |x| new_array << x.to_i end puts new_a
new_array
的内容及其索引0处的内容,我还将其存储在名为first element
的变量中。然后我输出first_元素的类
,并得到返回的nil
类。有人能解释为什么会这样吗?还有,有没有更好的方法
谢谢
new_array = []
first_element = new_array[0]
array = ["1", "2"]
array.each do |x|
new_array << x.to_i
end
puts new_array[0]
puts first_element.class
您正在获取空白数组的第一个值,该数组不存在,因此它将变为
nil
NilClass
只是nil
对象的类名
要使它不是
nil
,您需要在新数组中放入一些内容,例如[“foo”,“bar”,3.14]
。然后,第一个\u元素
将是“foo”
,它是字符串
类。初始化新数组
时,它将初始化为空数组。这意味着它有零个元素。如果您试图访问一个索引,那么您就是在尝试访问一个不存在的索引。在Ruby中,这被称为nil。啊,我明白你的意思了。我把它移到了each方法下面,现在它可以工作了。谢谢
$ruby testing_2.rb
1
NilClass