-
Notifications
You must be signed in to change notification settings - Fork 2
リスト
Snowman-s edited this page Mar 24, 2024
·
1 revision
「リスト」はリテラルの1つで、いくつかのリテラルを順に並べたものです(リストがリストを持つこともできます)。
リスト作成は listing
プロシージャで行うことができます。listing
は引数をその順に要素としてもつリストを返します。
この様に作成されたリストは []
プロシージャでアクセスできます。
以下の例は 「[3, 4]」 を出力した後、「4」を出力します。
┌─────┐
│ seq ├────────────────┐
│ ├─────────┐ │
└─┬───┘ │ │
┌─┴─────┐ ┌─┴───┐┌─┴───┐
│defset │ │print││print│
└─┬────┬┘ └─┬───┘└─┬───┘
┌─┴─┐┌─┴─────┐┌─┴─┐ ┌─┴─┐
│"v"││listing││ v │ │[] ├──┐
└───┘└┬──┬───┘└───┘ └─┬─┘ │
┌┴┐┌┴┐ ┌─┴─┐┌─┴─┐
│3││4│ │ v ││ 1 │
└─┘└─┘ └───┘└───┘
引数プラグを表すものとして、罫線文字の代わりに @
を用いると、その部分のリストを一段階展開します。
以下の例は 7
を出力します。
┌─────┐
│print│
└─┬───┘
┌─┴─┐
│ + │
└─@─┘
┌─┴─────┐
│listing│
└┬──┬───┘
┌┴┐┌┴┐
│3││4│
└─┘└─┘
@
はリスト[3, 4]
を受け取り、これを展開します。結果として、+
プロシージャは 引数 [3, 4] を受け取ることになります。
- チュートリアル
- アドバンスド
- その他仕様