0

List.sortWith根据文档的方法:有签名

def sortWith(lt: (A, A) ⇒ Boolean): List[A]

现在对于我们可以做的字符串列表:

myList.sortWith((_,_) match { case(s1: String, s2: String) => s1.compareTo(s2)}

即当scala 说它想要一个函数类型时使用模式匹配。

在这种情况下,我们可以因此说

(_,_) match { case(s1: String, s2: String) => s1.compareTo(s2)

是以下函数类型的函数应用程序(A, A) ⇒ Boolean

4

1 回答 1

2

请注意,compareTo返回一个整数。如果要遵守签名(A, A) ⇒ Boolean,对于字母升序,可以使用<.

所有这三个匿名函数都会对 a 进行排序List

myList.sortWith(_ < _)
myList.sortWith { case(a, b) => a < b }
myList.sortWith( (_, _) match { case (a, b) => a < b} )
于 2013-04-21T01:33:46.143 回答