我怎样才能在Ruby中添加数组?

net*_*tux 25 ruby arrays

在Ruby中添加数组的最佳方法是什么?也许类似Python的东西list.insert(0, 'foo')

我希望能够在0位置向Ruby数组添加一个元素,并将所有其他元素移动.

Ste*_*zyn 62

array = ['b', 'c']

array.unshift('a')

p array
=> ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)


pet*_*ter 6

史蒂夫回答的另一种方式

array = ['b', 'c']
array = ['a'] + array #["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

  • 为了完整起见:这两个答案之间有一个区别。这将创建一个新数组,而 Steve 将修改现有数组。如果它被多个变量引用,则可能会产生巨大差异。 (4认同)

ste*_*lag 5

array = ["b", "c"]
array.insert(0, "a", "a") # => ["a", "a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

  • 这会引发一个 `ArgumentError`,您可能意味着 `insert(0, "a", "a")`。 (3认同)