Scala verschachtelten Schleifen Rendite
Ich Frage mich, ob es eine einfache Möglichkeit, etwas zu tun, wie dies in scala:
case class Pot(width: Int, height: Int, flowers: Seq[FlowerInPot])
case class FlowerInPot(x: Int, y: Int, flower: String)
val flowers = Seq("tulip", "rose")
val height = 3
val width = 3
val res =
for (flower <- flowers;
h <- 0 to height;
w <- 0 to width) yield {
//??
}
und an einem Ausgang hätte ich gerne eine Seq Töpfe mit allen möglichen Kombinationen von Blumen aufgestellt. So im folgenden Beispiel wird die Ausgabe sollte sein:
Seq(
Pot(3, 3, Seq(FlowerInPot(0, 0, "tulip"), FlowerInPot(0, 1, "rose"))),
Pot(3, 3, Seq(FlowerInPot(0, 0, "tulip"), FlowerInPot(0, 2, "rose"))),
Pot(3, 3, Seq(FlowerInPot(0, 0, "tulip"), FlowerInPot(1, 0, "rose"))),
Pot(3, 3, Seq(FlowerInPot(0, 0, "tulip"), FlowerInPot(1, 1, "rose"))),
...
Pot(3, 3, Seq(FlowerInPot(2, 2, "tulip"), FlowerInPot(2, 1, "rose")))
)
irgendwelche Ideen?
- Ich glaube, Sie haben zwei Blumen-Generatoren, wie
flowerA <- flowers
undflowerB <- flowers
- Es scheinen gute Richtung, aber was, wenn ich n Arten von Blumen statt 2 fixiert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das, was Sie wollen?
Habe ich es herausgefunden, jetzt diese Lösung scheint zu funktionieren: