ruby - 使用 delete_at 删除反向数组中的数组元素不起作用

标签 ruby arrays reverse

如果我键入 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/

相关文章:

ruby - 何时将字符串用法重构为 Ruby 中的符号

ruby - 在 OSX 上使用 RVM 安装任何 ruby​​ 版本时出错

javascript - 在 JavaScript 中获取数组时出现问题 TypeError : Cannot set property

c++ - 表中的可变大小数组

python - reverse() 在 python 中的用法?

node.js - MongoDB - OneToMany 与子外键

ruby-on-rails - rack-rewrite 将所有子域重定向到根域(根除外)

ruby - Sinatra heroku 数据库访问

c++ - C++中的数组拆分

c - 无法打印以相反顺序输入到数组中的数字