如何从数组中提取位置x的记录?

时间:2013-05-11 08:54:47

标签: ruby-on-rails ruby

在Rails(或Ruby)中,是否可以在数组中的某个位置定位和操作项目。

例如,假设我已经定义了一个不能超过10条记录的数组。

@array = Model.where(:my_query = something).order(:my_order).first(10)

现在我想用前5个记录做一些事情,而用最后5个记录做其他事情。我可以用

@array.first(5)
@array.last(5)

但如果:my_query返回少于10条记录,那就会崩溃 - 即。会有重叠。

@array.at(1)

返回单个位置,但如果我需要一系列位置怎么办?我正在寻找像

这样的东西
@array.position(1..5)
@array.position(6..10)

这样的事情存在吗?我不确定我应该使用Google搜索哪些搜索字词?

1 个答案:

答案 0 :(得分:1)

你想要这样的东西:

first = @array[0..4]
last = @array[5..9]

这将在两个单独的变量中返回数组中的前五个和后五个元素。如果你这样做,你就不会有任何重叠。