0

在 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)

这样的事情存在吗?我不确定我应该在谷歌上搜索哪些搜索词?

4

1 回答 1

1

你想要这样的东西:

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

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

于 2013-05-11T09:00:08.683 回答