ruby - 如何明智地围绕对象拆分数组

标签 ruby arrays

我有一个长度不确定的数组,比方说 [1,2,3,4,5]。我想从 3 之前的所有内容中减去 1,并将 1 添加到 3 之后的所有内容,使示例 [0,1,3,5,6]。如果没有 3,则将 1 添加到所有内容:[1,2,4,5] => [2,3 ,5,6]。执行此操作最优雅的方法是什么?

最佳答案

a = [1, 2, 3, 4, 5]
n = a.index(3) || -1
a.map.with_index{|e, i| e + (i <=> n)}
# => [0, 1, 3, 5, 6]

关于ruby - 如何明智地围绕对象拆分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21833115/

相关文章:

ruby - Snow Leopard 上的 RVM : Can install 1. 8.7 没问题,但不是 1.9.3 或 1.9.2(可能是体系结构问题?)

ruby-on-rails - 卸载并重新安装 Ruby 和 Rails 后,为什么找不到它?

javascript - 我如何在javascript中访问数组中的数组

python - 在 Python 中使用数组递归查找字典中的元素

javascript - 将图像插入数组

ruby-on-rails - 在 Rails 环境之外测试(使用 RSpec) Controller

ruby-on-rails - ruby /rails : extending or including other modules

ruby-on-rails - 仅为本地主机创建 rails 路由

python - 过滤数组并仅检索以最高数字开头的字符串

ios - 在二维数组中搜索 tableView objC