如何巧妙地在对象边界处切分Ruby数组?
- 内容介绍
- 文章标签
- 相关推荐
本文共计193个文字,预计阅读时间需要1分钟。
我有一个不定长度的数组,让我们先说一个例子:[1, 2, 3, 4, 5]。我想从3开始,从前面所有的内容中减去1,然后在3之后的所有内容中加1。例如,结果可能是[0, 1, 3, 5, 6]。如果没有3,则将1加到所有内容中:[1, 2, 4, 5]。这样做是最优的。
我有一个不确定长度的数组,让我们说[1,2,3,4,5].我想从3之前的所有内容中减去1,并在3之后的所有内容中加1,制作示例[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]
本文共计193个文字,预计阅读时间需要1分钟。
我有一个不定长度的数组,让我们先说一个例子:[1, 2, 3, 4, 5]。我想从3开始,从前面所有的内容中减去1,然后在3之后的所有内容中加1。例如,结果可能是[0, 1, 3, 5, 6]。如果没有3,则将1加到所有内容中:[1, 2, 4, 5]。这样做是最优的。
我有一个不确定长度的数组,让我们说[1,2,3,4,5].我想从3之前的所有内容中减去1,并在3之后的所有内容中加1,制作示例[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]

