这是因为reverse
返回一个新数组,您要删除最后一个成员。你可以使用reverse!
,这会改变原始数组。
如果要从数组中删除最后一个元素,最好的方法是使用pop
。
>> arr = ["a", "b", "c"]
=> ["a", "b", "c"]
>> arr.pop
=> "c"
>> arr
=> ["a", "b"]
delete_at
可以处理负索引,从数组末尾向后计数(-1是最后一个元素):
ar = [1,2,3,4,5]
ar.delete_at(-2)
p ar #=> [1, 2, 3, 5]