Dynamoサンプル:繰り返し
Dynamoで繰り返すには
繰り返しだから「for」とか「While」だよね、とか思ってしまう、そこのアナタ(というか、私)。その考え方は捨てましょう、Dynamoでは邪魔です。
基本は「値を1つ」入れるところに、「リスト(配列)」を入れるだけです。これを取得できれば、「繰り返しよ、サヨナラ👋」になれます。
値を1つで試す
慣れているノードならいいのですけど、慣れてないなら、まずは値を1つ入れてためしてください。成功したら次のステップ、リストを入れます。

値にリストを入れる
xに1~10のリストを入れてみます。1+1、2+1・・・10+1、と繰り返されています。基本はこれだけ。

値に2つのリストを入れる
yにも1~10のリストを入れてみます。同じ行が組み合わされて、1+1、2+2・・・10+10と繰り返されています。

うまくいかない場合
リストがややこしい(階層がある)と、意図した通りにならなかったりします。
たとえば下記のような場合、
1+1、2+2・・・10+10
という結果を意図してたのに、
1+1、1+2・・・1+10
となっている!

そういう場合は、watchでリストの階層をよく確認してください。
それぞれのリストの「1番最初の階層」の「1行目、2行目・・・」の組み合わせが基本です。
ここでは、
@L2階層の1行目「1」と、`@L3'階層の1行目「0List」、つまり、「1、2・・・10」を組み合わせてるので、
1+1、1+2・・・1+10
となっています。Dynamoは正直。

同じ階層を示してあげたいので、xとyを右クリックして、「レベルを使用」を選択し、リストの階層を選択します。

うまくいかない場合2
リストがややこしい場合は、レベルを使用すればいいのね!
といっても、それではうまくいかない場合もあり。
私としては、
「11、22、33・・・」「61、72、83・・・」としたい。
こうしたい↓(実際は無理)

リストの数が同じでないと、「レベルを使用」ではどうにもならんという例。
リストの数が5と10なので、意図通りに組み合ってくれない。
(私の知識が足りないだけかもしれない)

「レベルを使用」を色々操作してみるけど、「そうじゃねぇ」みたいな感じ。

つまり、リストの数を合わせてあげる。
ここでは「1、2・・・5」を2回繰り返して、リストの数を10にする。
これで解決。

リストの階層がなくなったよ!という場合は、右クリックして「リスト構造を保持」を選択する。

@L1とか@L2とか分けわからん!という場合は、とにかくリストの階層構造を合わせてあげればよい。

リストを〇回繰り返してリストを作成するのは、List.Cycleを使用。

Discussion