我不明白为什么我的代码不起作用有人可以帮帮我吗?我正在尝试创建一个方法,将项添加到数组的末尾。我认为我的问题在于我试图访问本地变量的最后一行代码......谢谢!
def add_to_array(name)
array = []
array << name
end
add_to_array("Rob")
add_to_array("Jack")
p array
答案 0 :(得分:5)
问题是每次调用add_to_array
方法时都要创建一个新数组
除此之外,此数组是局部变量,其范围仅限于add_to_array
生命周期。
尝试以下方法:
def add_to_array(array, name)
array << name
end
array = []
add_to_array(array, "Rob")
add_to_array(array, "Jack")
p array
答案 1 :(得分:1)
您是否有理由不能使用.push
?这是ruby中Array
的默认方法
https://ruby-doc.org/core-2.2.0/Array.html#method-i-push
array = Array.new
=> []
name = "Rob"
other_name = "Jack"
yet_another_name = "Jeff"
array.push(name)
=> ["Rob"]
array.push(other_name, yet_another_name)
=> ["Rob", "Jack", "Jeff]