我有一个长度不确定的数组,比方说 [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/