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]

これにより、配列の最初の 5 つの要素と最後の 5 つの要素が 2 つの個別の変数で返されます。このようにすると、オーバーラップが発生しません。

于 2013-05-11T09:00:08.683 に答える