08/07/01 13:48:13 RKekU5lV0
俺しかいない予感!
URLリンク(www.nicovideo.jp)
コレ↑を見て会得したイディオムを書いておく。いずれも動作確認済。
いずれwikiに載せるつもり。誰かやってくれたらそれはそれで嬉しい。
【繰り返し構文を使う方法】
C言語における以下のソースとだいたい同じ動作をするニワン語。
型 array[] = {"test1","test2","test3"}, i;
for(i=0;i<配列要素数;i++){
printf(array[i]);
}
↓
0::/array = ["test1","test2","test3"]
0::/i=0;def_kari("test",dt(array[i],x:10,y:20*i);i=i+1;if(i<array.size,then:test))
0::/test
・同様のことを変数iを使わなくても可能。
でも多分こっちのほうがいちいちスタックが増える分遅いと思う。
0::/array = ["test1","test2","test3"]
0::/def_kari("test",dt(array[$1],x:10,y:20*$1);if($1+1<array.size,then:test($1+1)))
0::/test(0)
・breakに相当することをしたい場合は、内部にif文を記述したうえ
そのelseで、iの増加と再帰を行うことで実現できる。
0::/array = ["test1","test2","test3"]
0::/i=0;def_kari("test",if(array[i]=="test2",then:dt("hit"+i),else:i=i+1;if(i<array.size,then:test)))
0::/test