本文主要是介绍Scala模式匹配下提取器构造,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
示例代码:
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}
}
这篇关于Scala模式匹配下提取器构造的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!