示例代码:
object :> {
def unapply[A] (list:List[A]) = {
Some( (list.init,list.last) )
}
}
object Extractor_Advanced {
def main(args: Array[String]): Unit = {
(1 to 9).toList match{ case _ :> 9 => println("Spark") } //满足最后一个元素是9的话就打印输出Spark
(1 to 9).toList match{ case x :> 8 :> 9 => println("Hadoop")} //满足最后一个元素是9以外,在剩下的元素当中满足最后一个元素是8之后打印输出Hadoop
(1 to 9).toList match{ case :>(:>(_,8),9) => println("Flink")} //第一部分(_,8);第二部分是9。满足最后一个元素是9之外,倒数第二个元素是8;类似上边的Some
}
}