В Scala 2.8 мне нужно было вызвать List.min и предоставить мою собственную функцию сравнения, чтобы получить значение, основанное на втором элементе Tuple2. Мне пришлось написать такой код:
val list = ("a", 5) :: ("b", 3) :: ("c", 2) :: Nil
list.min( new Ordering[Tuple2[String,Int]] {
def compare(x:Tuple2[String,Int],y:Tuple2[String,Int]): Int = x._2 compare y._2
} )
Есть ли способ сделать это более читаемым или создать заказ из анонимной функции, как вы можете сделать с list.sortBy(_._2)
?