Coursera Scala 5-2:Pairs和Tuple
Coursera Scala 5-2:Pairs和Tuple
pair: (x,y)
scala> val (label,value) = (1,"s")
label: Int = 1
value: String = s
scala> (1,"s")
res0: (Int, String) = (1,s)
超过两个元素的就是tuple了
(T1,....,Tn)是Scala.Tuplen[T1,...,Tn]的缩写
(e1,....,en)是Scala.Tuplen(e1,...,en)的缩写
tuple模式中也和上面的(e1,...,en)一样
Example
归并算法实现。
object mergesort{
def msort(xs: List[Int]):List[Int] = {
val n = xs.length/2
if(n==0) xs
else{
def merge(xs:List[Int],ys: List[Int]):List[Int] = (xs,ys)match {
case (Nil,ys) => ys
case (xs,Nil) => xs
case (x::xs1,y::ys1) =>
if(x<y) x::merge(xs1,ys1)
else y::merge(xs,ys1)
}
val (fst,snd) = xs splitAt n
merge(msort(fst),msort(snd))
}
}
val nums = List(2,-4,5,7,1)
msort(nums)
}
最后更新:2017-04-03 05:39:11