前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scala-3.控制结构-for

Scala-3.控制结构-for

作者头像
悠扬前奏
发布2019-07-03 11:11:02
5630
发布2019-07-03 11:11:02
举报
文章被收录于专栏:悠扬前奏的博客

for和foreach语句

for循环

代码语言:javascript
复制
scala> for (i <- 1 to 5) println(i)
1
2
3
4
5

for循环中返回值

用yeild/for组合

代码语言:javascript
复制
scala> val evens = for ( i <- 1 to 5) yield i * 2
evens: scala.collection.immutable.IndexedSeq[Int] = Vector(2, 4, 6, 8, 10)

for循环计数器

代码语言:javascript
复制
scala> val a = Array("Apple", "banana")
scala> for( i <- 0 until a.length){ println(s"$i is ${a(i)}") }
0 is Apple
1 is banana

zipWithIndex:

代码语言:javascript
复制
scala> for((e, count) <- a.zipWithIndex) {
     | println(s"$count is $e")
     | }
0 is Apple
1 is banana

foreach

代码语言:javascript
复制
scala> a.foreach(println)
Apple
banana

scala> a.foreach(e => println(e.toUpperCase))
APPLE
BANANA

多行实现的:

代码语言:javascript
复制
scala> a.foreach{ e => 
     | val s = e.toUpperCase
   def toUpperCase(): String   def toUpperCase(x$1: java.util.Locale): String
     | val s = e.toUpperCase
     | println(s)
     | }
APPLE
BANANA

for循环中的多个计数器

如果遇到了多维数组的情况

代码语言:javascript
复制
scala> for (i <- 1 to 2 ; j <- 1 to 2) println(s"i = $i, j = $j")
i = 1, j = 1
i = 1, j = 2
i = 2, j = 1
i = 2, j = 2

也可以:

代码语言:javascript
复制
scala> for{
     | i <- 1 to 2
     | j <- 1 to 2
     | } println(s"i = $i, j = $j")
i = 1, j = 1
i = 1, j = 2
i = 2, j = 1
i = 2, j = 2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.07.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • for和foreach语句
    • for循环
      • for循环中返回值
        • for循环计数器
          • foreach
          • for循环中的多个计数器
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档