2

次のコード スニペットがあります。

import scala.io.Source
object test extends App {

  val lineIterator = Source.fromFile("test1.txt").getLines()


  val fileContent = lineIterator.foldLeft(List[String]())((list, currentLine) => { 
    currentLine :: list
    list
    })


    fileContent foreach println

}

test1.txtファイルが空ではなく、いくつかの値があると仮定しましょう。関数に関する私の質問foldLeftは、なぜこの例が空のリストを返すのですか?関数listの最後にあるを削除するとfoldLeft機能しますか? value の下に空のリストを返すのはなぜfileContentですか?

4

3 に答える 3

0

list は不変であるため、currentLine :: list の後はまだ空です。したがって、角かっこ内のコードは空のリストを返し、それは次のアイテムで折り畳まれ、空のリストを返します。

于 2016-09-09T16:48:02.143 に答える