一句印象深刻的话,Alan Kay(Smalltalk发明者)说得一句话:“I’m not against types, but I don't know of any typesystems that aren't a complete pain, so I still like dynamic typing”。
并不是静态类型不好,只是静态类型的实现太让他痛苦了,所以他只好喜欢动态类型(语言)。但Scala就是一个实现良好的静态类型语言,带有很多动态语言的特点,动静结合得非常好,很舒服,当然,也不好学。题外说一句:Scala还能当脚本语言用, 这彻底纠正了我的“这是动态语言的特权”的旧思想。
来看看Scala的foreach和for枚举功能,就知道它有多函数式和“动态”了。
scala> Array("a1", "a2", "a3").foreach((a: String) => print(a + ' ')
a1 a2 a3

进一步,省略参数的类型声明,Scala是可以进行类型推断的,这很动态:
scala> Array("a1", "a2", "a3").foreach(a => print(a + ' '))
a1 a2 a3

再进一步,甚至省略了参数也能玩得转:
scala> Array("a1", "a2", "a3").foreach(print)
a1a2a3

接下来看看for,很简单:
scala> for (a <- Array("a1", "a2", "a3")) println(a)
a1
a2
a3

scala的foreach和for相关推荐

  1. Scala混用Java的集合类调用scala的foreach遍历问题

    问题描述 [ERROR] /Users/jack/book/lightsword/src/main/scala/com/springboot/in/action/service/LightSwordU ...

  2. scala map,foreach,flatMap等方法对比

    map方法 应用 map方法用于对集合中的元素进行处理,返回值还是一个集合,和原集合的类型相同 scala> val x=Array(1,2,3) x: Array[Int] = Array(1 ...

  3. scala 中 foreach 的作用解释

    package YXHobject YXH {def main(args: Array[String]): Unit = {//var ff = (x:Int) => println(x) // ...

  4. 2021年大数据常用语言Scala(二十一):函数式编程 遍历 foreach

    目录 遍历  foreach 使用类型推断简化函数定义 使用下划线来简化函数定义 遍历  foreach 之前,学习过了使用for表达式来遍历集合.我们接下来将学习scala的函数式编程,使用fore ...

  5. 【Scala】Scala-调用Java-集合

    Scala-调用Java-集合 sacla 遍历 java list_百度搜索13.11 Scala混用Java的集合类调用scala的foreach遍历问题 - 简书

  6. Scala入门到精通——第四节 Set、Map、Tuple、队列操作实战

    本节主要内容 mutable.immutable集合 Set操作实战 Map操作实战 Tuple操作实战 队列操作实战 栈操作实战 mutable.immutable集合 以下内容来源于Scala官方 ...

  7. spark的foreach(println)看不到输出结果

    spark-shell --master yarn启动后, 代码如下: scala>  var rdd1=sc.makeRDD(1 to 4,2) scala> rdd1.foreach{ ...

  8. scala的多种集合的使用(6)之映射Map的操作方法

    1.创建映射 1)创建不可变的映射 scala> val status = Map(1 -> "a",2 -> "b") status: sc ...

  9. Spark基础学习笔记14:Scala数据结构

    文章目录 零.本讲学习目标 一.数组 (Array) (一)定长数组 1.数组定义 (1)定义数组时初始化数据 (2)定义时指定数组长度,后赋值 2.数组遍历 (1)传统for循环方式 (2)增强fo ...

最新文章

  1. 扬言要干掉 RESTful API 的 GraphQL 是什么鬼?
  2. JS函数表达式——函数递归、闭包
  3. Java 基础之 static 静态
  4. python定义函数的组成部分有_Python文档学习笔记(4)--定义函数
  5. C++ Bitsets
  6. mongodb 性能测试_MongoDB性能测试
  7. windows 安装mongodb
  8. Machine Learning - week 4 - Non-linear Hypotheses
  9. 华为服务器SNMP协议怎么修改,华为迈普交换机、瑞斯康达SNMP协议配置方法
  10. 大数据分析系统创新平台与生态建设
  11. python推箱子小游戏_python实现推箱子游戏
  12. 系统安全性之认证技术
  13. 详解统计指标PV、IP、UV、VV
  14. 《云计算与大数据》课程报告
  15. 不同范数下的余弦定理_什么是绝对矩阵范数?
  16. vue 图片转base64的两种方法(包括h5+plus调取手机图片)
  17. 微信小程序开发知识点总结
  18. 关于电子科技大学在校大学生经济状况的调查
  19. JS正则表达式【1】
  20. 海思处理器在单板上使用GDB的方法

热门文章

  1. NoSQL之Redis非关系数据库(redis概述,持久化,RDB持久化,AOF持久,内存碎片)
  2. OpenStack 的部署T版(三)——Glance组件
  3. 加分二叉树 java_P1040 加分二叉树
  4. git 怎么跟踪空目录
  5. 停止从域服务器同步文件,域控制器不同步处理办法
  6. 申通快递机器人上岗_申通快速分拣机器人未来有70%人会失业
  7. w3c的html4.0规范,W3C HTML4.0学习
  8. 已安装的sql怎么添加功能_微信群管理工具有哪些功能?怎么在社群中添加微信小助手?...
  9. c或c++语言什么时候用补码来运算,C/C++(基础编码-补码详解)
  10. 怎么退出自适应巡航_沃尔-ACC 自适应巡航控制系统