Scala By Example: Case 类与模式匹配 习题

来源:互联网 发布:美国毒品泛滥 知乎 编辑:程序博客网 时间:2024/05/18 09:11
   1: abstract class IntTree
   2: case object EmptyTree extends IntTree
   3: case class Node(elem: Int, left: IntTree, right: IntTree) extends IntTree
   4:  
   5: def contains(t: IntTree, v: Int): Boolean = t match {
   6:     case EmptyTree => false
   7:     case Node(e, l, r) => e == v || contains(l, v) || contains(r, v)
   8: }
   9:  
  10: def insert(t: IntTree, v: Int): IntTree = t match {
  11:     case EmptyTree => Node(v, EmptyTree, EmptyTree)
  12:     case Node(e, l, r) =>
  13:         if(e == v) t
  14:         else if(e > v) Node(e, insert(l, v), r)
  15:         else Node(e, l, insert(r, v))
  16: }
目前为止最简单的习题了,不解释。好的编程语言就像说话一样自然!
Technorati 标签: Scala