在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搜索哪些搜索字词?
答案 0 :(得分:1)
你想要这样的东西:
first = @array[0..4]
last = @array[5..9]
这将在两个单独的变量中返回数组中的前五个和后五个元素。如果你这样做,你就不会有任何重叠。