-
Notifications
You must be signed in to change notification settings - Fork 2
プロシージャ宣言
Snowman-s edited this page Mar 24, 2024
·
2 revisions
defproc
を用いることで、プロシージャを新たに宣言し、後で使えるようにすることができます。
以下のコードでは、引数の整数を2倍した値を返すプロシージャ"two times"を定義し、それを利用して3の2倍である「6」を出力します。
┌───┐
│seq├────────────────────┐
└─┬─┘ ┌┴────┐
┌─┴─────┐ │print│
│defproc├─────┐ └┬────┘
└┬──────┘ ┌•┐ ┌┴────────┐
┌┴──────────┐│*├─┐ │two times│
│"two times"│└┬┘┌┴─┐ └┬────────┘
└───────────┘┌┴┐│$0│ ┌┴┐
│2│└──┘ │3│
└─┘ └─┘
defproc
は 引数として プロシージャ名・実行ブロックを受け取り、新たにプロシージャを登録します。(2つ目の引数はブロックリテラルです。)
定義したプロシージャが呼ばれるに際し、「$args
変数に引数リテラルのリストが / $0, $1, $2, ...
に引数リテラルが先頭から順に」 setされた状態で実行ブロックを実行します。
ブロックリテラルは exec
プロシージャを用いて実行できますが、defproc
プロシージャを用いることで短縮形で実行することができます。詳しくはアドバンスドを確認ください。
- チュートリアル
- アドバンスド
- その他仕様