【发布时间】:2016-04-28 23:45:21
【问题描述】:
a good question 表示我们应该流式传输/查看或迭代我们的集合以按需生成它们。很明显。我只是不明白我应该在下面的演示中应用.view 或.iterate 什么
val l1 = List("10", "00", "0")
def gen(depth: Int): Iterable[String] = if (depth == 1) l1 else {
for (sub <- gen(depth-1); item <- List(depth + sub, sub+sub, sub)) yield item
}
我应该将它们应用于gen(depth-1) 还是List(depth+..)?
顺便说一句,我应该在(depth == 1) l1 else 中内联l1 吗?它不在其他任何地方使用。我只是担心它会为每一片叶子创建一个新列表。
【问题讨论】:
标签: scala collections stream iteration ondemand