有一个很好的问题,它说我们应该流/查看或迭代我们的集合以使其按需生成。很明显。我只是不明白我应该在下面的演示中应用.view
or什么.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+..)
?
顺便说一句,我应该内联l1
吗(depth == 1) l1 else
?它不在其他任何地方使用。我只是担心它会为每一片叶子创建一个新列表。