分岐トークあれこれメモ
トークの分岐について考察。例によってメモの為、支離滅裂(^^;
●IDが振られたブロックの評価
あるブロックにIDが振られ、複数回呼び出される時に、
そのブロックはどのように評価されるか。
■評価は変わらない
最初の1回だけ評価され、後は何度呼び出されても同じ値を返す。
【使用例】
・「人名」ブロックを定義し、トーク中で何度か利用する
■毎回評価される
呼び出されるたびに評価される。前回呼び出された時の値は
考慮されない。
【使用例】
・ブロック内にシーケンシャル分岐要素(呼び出されるたびに
次の要素に設定される)を設定し、呼び出されるたびに次の
要素を返す。シーケンシャルトークで利用?
■毎回評価されるが、同じ値は返さない
ブロック内のランダム要素一覧が最初に展開される。
展開された範囲内でブロックは評価され、同じ展開結果は2回
呼び出されない。全ての要素が評価された場合、ブロックは
リセットされる。
【使用例】
・「人名1」「人名2」など、トーク内で使い分ける場合に利用
実際の使い分け
1.「人名」を、「毎回評価されるが、同じ値は返さない」設定で定義
2.「人名1」「人名2」を、「評価は変わらない」設定で定義
3.「人名1」「人名2」から「人名」を呼び出すように定義
4.「人名1」「人名2」をトークより利用する
●処理ブロックの永続性
IDが振られたブロックに対して、システムに保持される期間
■一時的
1回のトークが終了するまで保持、トーク終了で破棄される
【使用例】
・大部分のランダムトーク
■システム終了まで保持
システムが終了されるまで保持される
【使用例】
・シナリオトーク(一連のトークが連続的に再生される)
■永続的
システム終了時に保存され、永続的に保持
【使用例】
・名作劇場など、1回再生された後当分再生されないもの
・システムの説明トーク
・その他ゴーストの設定情報
例によって考え中のため、まとまりなく終了‥‥