Я делаю немного Scala гимнастики, где у меня Seq[T]
, в котором я пытаюсь найти "самый маленький" элемент. Это то, что я делаю прямо сейчас:
val leastOrNone = seq.reduceOption { (best, current) =>
if (current.something < best.something) current
else best
}
Это прекрасно работает, но я не совсем доволен - он немного длинный для такой простой вещи, и Мне наплевать на "если" s. Использование minBy
было бы намного более элегантным:
val least = seq.minBy(_.something)
... но min
и minBy
бросать исключения, когда последовательность пуста. Есть ли идиоматический, более элегантный способ нахождения наименьшего элемента, возможно, пустого списка как Option
?