scala/ScalaBook/chapter-03/tree2.scala




abstract class BinTree                         
case object EmptyTree extends BinTree
case class  Node(elem: Int, left: BinTree, 
                            right: BinTree) extends BinTree

var t1 = Node(3,Node(-2,EmptyTree,EmptyTree),EmptyTree)
var t2 = Node(13,EmptyTree,EmptyTree)

var t3= t1 match {
  case Node(_,t@Node(x,_,_),_) if x < 0 => t
  case  _ => EmptyTree
}

println(t3)

var t4= t1 match {
  case Node(_,Node(x,y,z),_) if x < 0 => Node(x,y,z)
  case  _ => EmptyTree
}

println(t4)