删除数组中的最后2个元素 - Ruby

Bit*_*ise 1 ruby ruby-on-rails

如果我有这个数组 - [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1, 18, 21]我怎么能得到这个回报 - [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1]我试过这个并且它不起作用.array.size - 2..

Lin*_*ios 6

试试这个:

array = array[0..-3]
Run Code Online (Sandbox Code Playgroud)

这告诉Ruby从索引0(第一个元素)到索引-3(最后一个元素的第三个)获取数组的切片,省略最后两个元素.

或者,您也可以使用Array#slice!以下方法修改数组:

array.slice!(-2, 2)
Run Code Online (Sandbox Code Playgroud)


Kam*_*shi 5

array = [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1, 18, 21]

删除最后两个元素使用

a[0..-3]

或者

a[0..a.length-3]