【发布时间】:2020-03-26 22:08:12
【问题描述】:
假设我有一个函数Seq[String] => Seq[Int],例如def len(as: Seq[String]): Int = as.map(_.length)。现在我想将此功能应用于文本文件,例如将所有文件行转换为数字。
我以scala.io.Source.fromFile("/tmp/xxx.txt").getLines 读取了一个文本文件,它返回一个迭代器。
我可以使用toList 或to(LazyList) 将迭代器“转换”为Seq,然后我将整个 文件读入内存。
所以我需要编写另一个函数Iterator[String] => Iterator[Int],它实际上是Seq[String] => Seq[Int] 的复制 版本。这是正确的吗 ?避免重复代码的最佳方法是什么?
【问题讨论】: