gpt4 book ai didi

带列表的 Scala foldLeft

转载 作者:行者123 更新时间:2023-12-01 07:29:07 26 4
gpt4 key购买 nike

我有以下代码片段:

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 函数的问题是,为什么这个例子在这里返回一个空列表,当我删除 foldLeft list 时功能有效吗?为什么它在值 fileContent 下返回一个空列表?

最佳答案

currentLine::list 行不会改变原始列表。它创建一个带有 currentLine 前缀的新列表,并返回该新列表。当这个表达式不是你的 block 中的最后一个时,它将被丢弃,并且(仍然)空的 list 将被返回。

当你移除最后的list时,你实际上会返回currentLine::list

关于带列表的 Scala foldLeft,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com