あなたは最小限の要素のインデックスを検索したい場合は、あなたが にEnumerable#enum_for
を使用することができます項目の配列 - インデックスの組を取得し、Enumerable#min
(これも元の配列の最小値になります)の最小値を見つけます。
% irb
irb> require 'enumerator'
#=> true
irb> array = %w{ the quick brown fox jumped over the lazy dog }
#=> ["the", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"]
irb> array.enum_for(:each_with_index).min
#=> ["brown", 2]
あなたは、特定の配列のインデックスにそれをバインドしたい場合:
irb> start = 3
#=> 3
irb> stop = 7
#=> 7
irb> array[start..stop].enum_for(:each_with_index).min
#=> ["fox", 0]
irb> array[start..stop].enum_for(:each_with_index).min.last + start
#=> 3
、あなたは何をすべきか「より良い」という意味ですか?より効率的ですか、コードの行数が少なくて済みますか? – Rahul
申し訳ありませんが、私はRubyでより良い実装をするつもりでした。 – unj2