Несколько комбинаций методов в коллекции могут быть выражены более лаконично в Scala. Например, xs.filter(f).headOption
может быть выражен как xs.find(f)
, а xs.map.filter
обычно может быть лучше выражен через xs.collect
.Элегантный способ выразить xs.sort.head
Я нахожу, что пишу xs.sortWith(f).head
, и это кажется мне похожим на то, что может быть выражено как один метод: «Найди мне наименьший элемент в этой коллекции, согласно этой функции сортировки».
Однако я не вижу очевидных методов на Seq
или TraversableLike
. Есть ли один метод, который отражает мои намерения, или .sort.head
более элегантный способ найти «наименее» элемент?
'minBy', конечно. Я искал другие функции, которые использовали 'A => A => Boolean' в соответствии с' sortWith', но это действительно не обязательно для моего использования. –