【发布时间】:2015-08-21 07:22:17
【问题描述】:
我想生成一些值的组合,如下面的代码:
object ContinueGenerate {
val foods = List("A", "B", "C")
val places = List("P1", "P2", "P3")
val communities = List("C1", "C2", "C3", "C4")
case class Combination(food: String, place: String, community: String)
def allCombinations() = {
for {
food <- foods; place <- places; community <- communities
} yield Combination(food, place, community)
}
def main(args: Array[String]) {
allCombinations foreach println
}
}
但是,这种方法的问题在于,所有数据都是一次生成的。当foods、places 和communities 的大小变得非常大时,这是一个大问题。除了这三个之外,还可能有其他参数。
所以我希望能够以延续样式生成组合,以便仅在请求时生成组合。
Scala 的惯用方式是什么?
【问题讨论】:
标签: scala combinations