如何在Ruby中删除数组的结尾

B S*_*ven 6 ruby arrays iterator

Array#drop删除数组的前n个元素.删除数组的最后m个元素有什么好方法?或者,保持数组中间元素(大于n,小于m)的好方法是什么?

Mar*_*une 22

这正是Array#pop为了:

x = [1,2,3]
x.pop(2) # => [2,3]
x # => [1]
Run Code Online (Sandbox Code Playgroud)


小智 7

您也可以使用Array#slice方法,例如:

[1,2,3,4,5,6].slice(1..4) # => [2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

要么

a = [1,2,3,4,5,6]
a.take 3 # => [1, 2, 3]
a.first 3 # => [1, 2, 3]
a.first a.size - 1 # to get rid of the last one
Run Code Online (Sandbox Code Playgroud)

  • 当需要就地进行数组修改时,还有`Array#slice!`. (2认同)