如果我键入 c.messages.reverse.delete_at(0)
没有任何反应,其中 messages 是数组。如果我键入 c.messages.delete_at(0)
,它会按原样删除第一个元素。为什么这不适用于反向?
最佳答案
发生这种情况是因为 reverse
返回一个新数组,您要删除其中的最后一个成员。你可以使用reverse!
,它会改变原始数组。
如果你想从数组中删除最后一个元素,最好的方法是使用 pop
.
>> arr = ["a", "b", "c"]
=> ["a", "b", "c"]
>> arr.pop
=> "c"
>> arr
=> ["a", "b"]
关于ruby - 使用 delete_at 删除反向数组中的数组元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752978/