Я делаю немного 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?