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