package scalapackage.scalamatch
/**
* Created by Germmy on 2018/3/30.
*/
object ListMatch {
def main(args: Array[String]) {
//Array类型
// val arr=Array(1,2,3,4)
//
// arr match {
//
// case Array(3,b,c,d) => println(s"case0:$b,$d")
// case Array(_,x,y) => println(s"case1:$x,$y")
// case _ =>println("no match")
// }
//元组,不知道这样写对不对
// val tuple=(1,2,3,4)
//
// tuple match{
//
// case (3,a,b,c) =>println(s"case0:$a,$b")
// case _ => println("no match")
// }
//集合
val myList=List(1,2,3,4)
myList match {
// case a :: b :: c :: d => println(s"case1:$a,$b,$d")
// case a :: b :: c :: d :: Nil => println(s"case0:$a,$b")
case 2 :: b :: c => println(s"case2:$b")//这个很明显,第1个元素就不合
case a :: b :: c => println(s"case1:$a,$b")//奇怪,这3个元素,它也能匹配上
case a :: b :: c :: Nil => println(s"case0:$a,$b")
case _ => println("no match")//这个地方是_,不是Nil
}
}
}