gpt4 book ai didi

ruby-on-rails - ruby/rails array 两个索引之间的所有元素

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:33 24 4
gpt4 key购买 nike

我有一个这样的数组:[7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6]

返回数组中从位置 6 到位置 0 的每个项目的最简单方法是什么,结果数组如下所示:[1,2,3,4,5,6,7]

数组中的这个位置可以是动态的,例如传入 4 和 9 应该返回 [11,12,1,2,3,4]

我想知道是否有一种方法可以在 Rails api 中实现这一点。

提前致谢

编辑假设没有负数,那么 array[2..-2] 将不起作用。

Array#splice 几乎适用于此,但如果第二个位置小于第一个,则返回 nil

最佳答案

def foo a, min, max
a.rotate(min).first((max - min) % a.length + 1)
end

a = [7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6]
foo(a, 6, 0) # => [1, 2, 3, 4, 5, 6, 7]
foo(a, 4, 9) # => [11, 12, 1, 2, 3, 4]

关于ruby-on-rails - ruby/rails array 两个索引之间的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30930587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com