C.O.F.F.E.E.ノードの出力端子から出力するタイミングは?
本当は、XPressoのC.O.F.F.E.E.ノードを使って、for()ループ内のデータを出力端子から出したいのだが…
繰り返しノードは、XPresso1回の実行で出力端子からの出力が繰り返えされます。
「入力をコンソールに表示」はC.O.F.F.E.E.ノードです。
見せる程のコードではないのですが…
/*
入力された値をコンソールに表示
2009.3.9
*/
main()
{
println(iv);
}
このXPressoは1回の実行で6回繰り返されました。
単純に考えると、
/*
「繰り返し」ノードをC.O.F.F.E.E.では、こんな感じだろうか?
2009.3.9
*/
main()
{
var i;
for(i = Input1 ; i <= Input2 ; i++)Output1 = i;
}
これで良さそうな気がしますが…
ではC.O.F.F.E.E.ノードを追加して、上のコードを入力してみよう。
表示されたのは、最後の「5」のみ…
C.O.F.F.E.E.ノード終了時に出力端子から出力されるのだろう…
これじゃC.O.F.F.E.E.ノードで繰り返して、データを繰り出すことは出来ないという事だ…
でも本当に繰り返してるのか?このC.O.F.F.E.E.ノードは…
繰り返してるからこそ「5」が出力されたわけで…
最後に悪あがきで…
ループ内でイベントを発生させたら出力されないだろうか?
次のように変更。
イベントとコンソールに表示を追加しました。
/*
「繰り返し」ノードをC.O.F.F.E.E.では、こんな感じだろうか?
イベントを発生させてみたら
2009.3.9
*/
main()
{
var i;
for(i = Input1 ; i <= Input2 ; i++){
Output1 = i;
} EventAdd();
println("--" , i , "--");
}
結果は…
イベントが常に発生している状態になりコンソールに表示が続きます。
C.O.F.F.E.E.ノード内でループはされているものの、やはり出力は最後の1回のみ。
こうなると、ループ部分をC.O.F.F.E.E.ノードを利用して、他のノードと連携は無理ですね。
C.O.F.F.E.E.ノードで完結させるなら問題ないのですが…
| 固定リンク