scala的模式匹配极其强大,其中有一种用法是用case语句匹配序列和元组。

  放码过来:

  

def parse(x: Any): String = x match {
case List(0, _, _) => "three element list; 0 is the first one"
case List(1, _*) => "unknow number of elements"
case list: List[_] => "got a list $list"
case list @ List(1, _*) => "got a list : $list"
case Array(_*) => "an array"
case Vevtor(_*) => "a Vector"
case (a,b,c) => s"three element tuple: $a, $b, $c"
case (a,b,c,_) => "four elements tuple;"
}

  其中,_表示一个元素,_*表示0个或多个元素

  List[_]这种写法可以匹配类型模式,而 @ List(1, _*)可以匹配一个变量绑定的模式

最新文章

  1. jQuery 遍历方法
  2. 转:永久解决火狐浏览器出现的flash版本更新问题
  3. 关于启明星系统移除apppath配置,让系统自动获取路径来设置cookie的解决方法
  4. 第六课 SQLite
  5. 1个小时学会ReactiveCocoa基本使用
  6. idea14 maven项目 jdk编译版本无法修改
  7. Python系列之内置函数
  8. js规范
  9. BZOJ_1269&&1507_[AHOI2006]文本编辑器editor&&[NOI2003]Editor
  10. springAOP实现操作日志记录,并记录请求参数与编辑前后字段的具体改变
  11. Elasticsearch设置最大返回条数
  12. PriorityBlockingQueue 原理分析
  13. C# 多进制转换
  14. 关于jdbc连接MySQL数据问题
  15. FAT32文件系统学习(2) —— FAT表
  16. [转帖]kubeadm 实现细节
  17. 【Eclipse】Ubuntu 下菜单栏失效了,怎么办?(已解决)
  18. scala spark rdd转数据框
  19. Codeforces1101 | EducationalRound58 | 瞎讲报告
  20. linux 下 mysql安装和配置

热门文章

  1. Git push时不需要总输入密码
  2. vue垂死挣扎系列(一)——vue-cli快速搭建
  3. python3-cookbook笔记:第十章 模块与包
  4. jenkin docker node 自动化部署配置
  5. 记一次Postgres CPU爆满故障
  6. mysql简单备份与恢复
  7. go并发版爬虫
  8. mysql-主从备份问题小结
  9. 1.泛型(Generic)
  10. R语言入门:使用RStudio的基本操作