阅读771 返回首页    go 阿里云 go 技术社区[云栖]


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

  上一篇:go 利用YaHoo YUI实现Javascript CSS 压缩
  下一篇:go c遍历所有文件夹中的文件