为什么这些方法不允许我添加到数组?

Rob*_*ews 0 ruby arrays push

我不明白为什么我的代码不起作用有人可以帮帮我吗?我正在尝试创建一个方法,将项添加到数组的末尾.我认为我的问题在于我最后一行代码试图访问本地变量...谢谢!

def add_to_array(name)
  array = []
  array << name
end

add_to_array("Rob")
add_to_array("Jack")

p array
Run Code Online (Sandbox Code Playgroud)

Luc*_*sta 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
Run Code Online (Sandbox Code Playgroud)