开发者学堂课程【Scala 核心编程 - 进阶:匹配元组】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/610/detail/9074
匹配元组
匹配元组:
有一个数组,数组里面全是一堆元组,这个元组可能是二元组也可能是三元组,根据我的需求来找出我希望要的元组。
应用案例
//元组匹配
//元组匹配
for (pair<-Array(0,1),(1,0),(1,0,2))){
val result=pair match{//
case (0,_)=>”//
case (y,0)=>y//
case _=>“other”//.
}
Println(result)
1.是代表以0打头的二元组,而且第二个元素忽略不要,这个 y,0是要匹配一个二元组但是他第二个元素必须是0。
//案例演示+说明
//思考,如果要匹配(10,30)这样任意两个元素的对偶元组,应该如何写?
这个代码也很简单直接把他过来用,这个叫匹配元组。
写一个 MatchTupleDemo01 看起来这个量很大,其实都比较简单分析一下结果,因为是0,1所以应该匹配到0...第二个因为你用遍历的时候用 for 循环,遍历了 pail 用1循环应该直接把这个 y 输出过来了应该是1,但这个代码应该根据自己的实际情况设计,第三个是1,1,在这里面什么都没有于是输出 other,一个匹配不到,因为元素个数都不一样,
于是输出 other
package com.atguigu.chapter12
object MatchTupleDemo01 {
def main(args:Array[string]):Unit={
//如果要匹配(10,30)这样任意两元素的对偶元素,应该如何写
for (pair<-Array(0.1),(1.0),(10,30),(1,1),(1,0,2))){
val result=pair match {//
case (0,_)=>“0 ...”//
case (y,0)=>y//
case (x,y)=>(y,x)//“匹配到(x,y)”+x+“”+y
case _=>“other”//.
}
//1.0...
//2.1
//3.other
//4.other
Println(result)
}