2017-07-04 18 views
0

長さの高い順に4つの要素を配列から選択したいと考えています。Rubyの配列から複数の要素を選択する

私は降順で配列をソートし、要素を選択しました。

これを行うもっとエレガントな方法はありますか?

+2

arr.max_by(n){| i | #condition} 'が動作することがあります。 –

+0

条件を満たす最初の 'n'オブジェクトを収集する場合は、' each_with_object'または 'with_object'を配列オブジェクトとともに使用し、' n'オブジェクトを収集するまで構築してください。 –

+0

事:特定の条件を満たす要素ではなく、他のすべての要素の中で最も高い要素が必要です。あなたは 'each_with_object'または' with_object'を使ってそれを達成する方法の例を教えてください? –

答えて

3
%w(one two three four five size seven eight).max_by(3, &:length) 
=> ["seven", "eight", "three"] 
+0

私の悪いです。私は私の質問を改めました。 –

+0

私の答えは – Ursus

+2

です。 'max_by(3、&:length) ':) – Gerry

関連する問題