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
?它不在別的地方使用。我只是擔心它會爲每一片葉子創造一個新的名單。