【发布时间】:2012-02-14 22:24:10
【问题描述】:
我想将 List.sortBy 接受的参数传递给另一个函数。我的代码如下所示:
//Scala
def sortAndMore(list: List[(String, _)], sortFn: Option[???] = None) = {
val maybeSortedList = sortFn match {
case None => list
case Some(fn) => list.sortBy(fn)
}
// do some more stuff with this list
}
val myList = ("one", 1)::("three", 3)::("two", 2)::Nil
sortAndMore(myList, Some(_._1 /*???*/))
所以最后我希望得到与下面给出的结果相同的结果:
myList.sortBy(_._1)
sortAndMore函数中Option的类型是什么?
Scala API for scala.collection.immutable.List 是这样说的:
def sortBy [B] (f: (A) ⇒ B)(implicit ord: Ordering[B]): List[A]
我尝试了几件事,但我只是不知道正确的语法,而且猜到它并不幸运。非常感谢任何提示,尤其是指出为什么语法必须如此的指针。
【问题讨论】:
标签: scala collections types functional-programming