制御構造¶
ジャンプ¶
行頭が > ≫ ≧ の行は、別の文へのジャンプです。
>名前
>名前【タブ】条件式
| 行頭 | ジャンプ先の決め方 |
|---|---|
> |
名前で指定した文へジャンプする |
≫ |
名前の文字列に合うコミュニケート用の文を探してジャンプする |
≧ |
タグ検索(コミュニケート用の文の語と完全に一致するもの)でジャンプする |
- ジャンプ先の名前は
()を展開して決まります。 - 条件式を付けると、その式が真のときだけジャンプします。偽のときは、次の行に進みます。式が計算できないときは、エラーログを出して次の行に進みます。
- ジャンプすると、それまでに出力した内容はそのまま残り、ジャンプ先の文が続きとして実行されます。元の文には戻りません。
- ジャンプ先が見つからなかったときは、ログに出して、次の行に進みます。
- ジャンプのあと、喋るキャラクターは相方側(
\1)に戻ります。 - ジャンプ先の名前が空のときは、名前のない文(ランダムトーク)へ移ります。
- 1 回の応答でのジャンプ回数は $ジャンプ回数制限(既定 20000)までです。
*OnBoot
$回数=(回数)+1
>初回のあいさつ【タブ】(回数)==1
またお会いしましたね。
*初回のあいさつ
はじめまして。
呼び出し¶
(名前) は、文の中から別の文を呼び出します。結果は元の文に埋め込まれます(ジャンプと違い、続きが実行されます)。引数付きの呼び出しは call です。呼び出した文は、先頭で喋るキャラクターが相方側(\1)になり、呼び出した文の最後のキャラクターが、そのまま元の文に引き継がれます。
条件分岐¶
() の中の条件分岐は次の関数を使います。
| 関数 | 特徴 |
|---|---|
| when | 特殊形式。選ばれた側だけが実行される |
| whenlist | 特殊形式。比較式の連続 |
| if / unless | ssu。両方の枝が展開される |
| switch / nswitch / iflist | ssu。多分岐 |
文全体を条件で選びたいときは、採用条件式を使います。
繰り返し¶
| 関数 | 用途 |
|---|---|
| times | 回数を指定して繰り返す |
| for | 範囲を指定して繰り返す |
| while | 条件が真の間、繰り返す |
| loop | 単語群・文を、カウンタを変えながら呼び出す |