2
有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+..)
?
顺便说一句,我应该内联l1
在(depth == 1) l1 else
?它不在别的地方使用。我只是担心它会为每一片叶子创造一个新的名单。