匹配元组 | 学习笔记

简介: 快速学习匹配元组

开发者学堂课程【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)这样任意两个元素的对偶元组,应该如何写?

这个代码也很简单直接把他过来用,这个叫匹配元组。

image.png

写一个 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)

}

相关文章
|
JSON 缓存 Android开发
iOS高质量的动画实现解决方案——Lottie
iOS高质量的动画实现解决方案——Lottie
1439 0
|
JSON 搜索推荐 数据库
基于Qt框架实战:MP3音乐播放器搜索引擎
基于Qt框架实战:MP3音乐播放器搜索引擎
基于Qt框架实战:MP3音乐播放器搜索引擎
|
Ubuntu Linux 开发工具
嵌入式Linux系列第4篇:Kernel编译下载
嵌入式Linux系列第4篇:Kernel编译下载
|
存储 安全 算法
物联网发布者在发送数据时如何保证数据的安全性和完整性
数据加密、密钥管理和数据完整性验证是物联网安全的重要组成部分。对称加密(如AES)和非对称加密(如RSA)分别适用于大量数据和高安全需求的场景。密钥需安全存储并定期更新。数据完整性通过MAC(如HMAC-SHA256)和数字签名(如RSA签名)验证。通信协议如MQTT over TLS/SSL和CoAP over DTLS增强传输安全,确保数据在传输过程中的机密性和完整性。
|
机器学习/深度学习 人工智能 监控
ModelScope
ModelScope
519 9
winform实现最小化至系统托盘
winform实现最小化至系统托盘
191 0
|
JavaScript
vue 代码高亮 highlight.js vue-highlightjs
vue 代码高亮 highlight.js vue-highlightjs
332 0
|
存储 达摩院 供应链
排产排程问题【数学规划的应用(含代码)】阿里达摩院MindOpt
**文章摘要:** 本文探讨了使用阿里巴巴达摩院的MindOpt优化求解器解决制造业中的排产排程问题。排产排程涉及物料流动、工序安排、设备调度等多个方面,通常通过数学规划方法建模。MindOpt支持线性规划、整数规划等,能有效处理大规模数据。案例以香皂制造工厂为例,考虑了多种油脂的购买、存储和生产计划,以及价格变化和存储成本。问题通过数学建模转化为MindOpt APL代码,求解器自动寻找最优解,以最大化利润。文章还提供了代码解析,展示了解决方案的细节,包括目标函数(利润最大化)、约束条件(如生产效率、库存管理)以及结果分析。
|
开发者
Qt中的事件该如何学习?(附带案例)
事件是Qt中比较重要的一部分,在初期如果理解不当学习可能会比较困难,这里提一嘴当初教我的那位老师水平是真的高,让我很轻易的就理解了事件的概念。 在平时我们见到那些界面上的某些快捷键就有可能是事件做的,例如ESC关闭窗口,Enter提交或者登录这种类似的,这也是事件的强大之处。
586 0
|
编译器 C++
使用64位的编译工具进行编译
本文记录了使用64位的编译工具进行编译的过程