7

Python では、リスト要素を検索するときに開始インデックスと終了インデックスを指定できます。

>>> l = ['a', 'b', 'a']
>>> l.index('a')
0
>>> l.index('a', 1) # begin at index 1
2
>>> l.index('a', 1, 3) # begin at index 1 and stop before index 3
2
>>> l.index('a', 1, 2) # begin at index 1 and stop before index 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list

Rubyに同等の機能はありますか? 配列スライスを使用できますが、中間オブジェクトが必要なため、効率が悪いようです。

4

2 に答える 2

1

Ruby には同等の機能はありません。

で配列の先頭から#index最後まで検索したり、 で配列の最後から検索して先頭に戻ったりすることができます#rindex#[]ある任意のインデックスから別のインデックスに移動するには、OP が提案したように、まず配列スライスを使用して (たとえば を使用して) 対象のインデックスまで配列をスライスする必要があります。

于 2014-02-17T10:35:20.093 に答える