2009年12月21日月曜日

Fun Ladder! の Up、Down、Set、Resetの構文を拡張しました

こんにちは
今朝は屋根の雪下ろしをしました。

さて、Fun Ladder!にはUp、Down、Set、Resetのコマンドがあるのですが、構文を拡張し複数の入力が出来る様にしました。
今までは Set X0 M0 と入力1に対して出力1でしたが、複数の入力が指定出来る様になりました。
入力はAnd結合します。

Set X0 M0 /M1 M2 Y0



アラーム回路をSet、Resetを用いて次の用に書くと100個のアラーム回路が生成されます。

#=== ここから
原因列 =>[M1000...M1100]
リセット => M100
アラーム列 => [M2000...M2100]

def アラーム回路() {
Set $1@原因列 $2@アラーム列
Reset $2 /$1 リセット $2
}

アラーム回路() 原因列 times
#=== ここまで



ラダーで100個のアラーム回路を手入力するのは大変だと思いますが、Fun Ladder!を用いると、わずか10行くらいで入力ミスも無く100個のアラーム回路を生成します。200個になろうが範囲を変更するだけです。

本来は"アラーム回路() 100 times"を"アラーム回路() 原因列 times"と書けるのですが、バグがある様なので指定出来ませんでした。代わりに100 timesとする事で出来ます。
こちらは後ほど調査します。

修正しました。(12/22)

このコードはサンプルの方に上げています

0 件のコメント: