Proxomitron フィルタ ..
809:名無しさん@お腹いっぱい。
06/10/17 10:43:56 1EbHilyf0
ブロックリストincrement
( $TST(num=([0-9]++)\09) $SET(num=\0) $SET(num2=0$GET(num2)) $LST(increment) | $TST(num=([0-9]++)\0$LST(num+1)) $SET(num=\0\@$GET(num2))
動作を検証してみる。
再帰的なブロックリストincrementを構成。
まずは初期値としてnumに19を代入してみる。
テストをしてnumの下一桁が9の場合には下一桁以外の数字をnum変数にリセットするのでnum変数が1になる。
と同時にnum2変数に0がセットされる。
そして最後に$LST(increment)が繰り返される。
最初に戻って、テストをしてnumの下一桁が9であるかを調べるが、この時点でnum変数は1なのでTSTの結果は偽。
よってOR関数の後者に移動する。
まずテストをしてnumの下一桁を$LST(num+1)で取り出し一つ大きな値をスタックに代入する。
ここではスタックに2が代入される。
次にnumの下一桁以外+スタックに入っている一桁の数字+今までにnum2に入った数字が代入される。
ここで最初の値は空値であり、次の値は2であり、最後の値は0である。
以上から初期値19に対して1だけ大きい20がセットされる。
こんなブロックリストが実際に動くかはまだ検証していません。
時間がある人が居れば試してみてください。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5350日前に更新/373 KB
担当:undef