码迷,mamicode.com
首页 > 其他好文 > 详细

scala for循环

时间:2017-06-21 13:48:40      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:rgs   blog   lan   yield   sha   循环   for循环   int   scala   

scala for循环功能强大啊,for条件可以写各种表达式

通过一个demo来看一下,这个是一个讲yield关键字的demo:《Scala中的yield

object YieldDemo {

  private val files = (new java.io.File("./src/com/shang/yielddemo")).listFiles

  private def fileLines(file: java.io.File) =
    scala.io.Source.fromFile(file).getLines.toList

  def main(args: Array[String]): Unit = {
    println(files.size)

    for(file <- files){
      println(file.getName)
    }

    val lineLengths =
      for {
        file <- files
        if file.getName.endsWith(".txt")

        line <- fileLines(file)
        trimmedLine = line.trim
        if trimmedLine.matches(".*棒.*")
      } yield line + ":合计" + trimmedLine.length + "个字。"

    lineLengths.foreach(println)
  }
}

输出:

2
demotxt.txt
YieldDemo.scala
Let‘s go...太棒咯~:合计15个字。
Scala特棒!:合计8个字。

 

scala for循环

标签:rgs   blog   lan   yield   sha   循环   for循环   int   scala   

原文地址:http://www.cnblogs.com/guazi/p/7058566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!