コンテンツにスキップ

制御構造

ジャンプ

行頭が > ≫ ≧ の行は、別の文へのジャンプです。

>名前
>名前【タブ】条件式
行頭 ジャンプ先の決め方
> 名前で指定した文へジャンプする
≫ 名前の文字列に合うコミュニケート用の文を探してジャンプする
≧ タグ検索(コミュニケート用の文の語と完全に一致するもの)でジャンプする
  • ジャンプ先の名前は () を展開して決まります。
  • 条件式を付けると、その式が真のときだけジャンプします。偽のときは、次の行に進みます。式が計算できないときは、エラーログを出して次の行に進みます。
  • ジャンプすると、それまでに出力した内容はそのまま残り、ジャンプ先の文が続きとして実行されます。元の文には戻りません。
  • ジャンプ先が見つからなかったときは、ログに出して、次の行に進みます。
  • ジャンプのあと、喋るキャラクターは相方側(\1)に戻ります。
  • ジャンプ先の名前が空のときは、名前のない文(ランダムトーク)へ移ります。
  • 1 回の応答でのジャンプ回数は $ジャンプ回数制限(既定 20000)までです。
*OnBoot
$回数=(回数)+1
>初回のあいさつ【タブ】(回数)==1
またお会いしましたね。

*初回のあいさつ
はじめまして。

呼び出し

(名前) は、文の中から別の文を呼び出します。結果は元の文に埋め込まれます(ジャンプと違い、続きが実行されます)。引数付きの呼び出しは call です。呼び出した文は、先頭で喋るキャラクターが相方側(\1)になり、呼び出した文の最後のキャラクターが、そのまま元の文に引き継がれます。

条件分岐

() の中の条件分岐は次の関数を使います。

関数 特徴
when 特殊形式。選ばれた側だけが実行される
whenlist 特殊形式。比較式の連続
if / unless ssu。両方の枝が展開される
switch / nswitch / iflist ssu。多分岐

文全体を条件で選びたいときは、採用条件式を使います。

繰り返し

関数 用途
times 回数を指定して繰り返す
for 範囲を指定して繰り返す
while 条件が真の間、繰り返す
loop 単語群・文を、カウンタを変えながら呼び出す