「単語の追加」を使った例。解説つき

「特定のトークを聞いた後は、自己紹介トークが増える」というケースを例にとった解説です。

引用元

 まず、自己紹介トークのそれぞれに名前を付けます。

*自己紹介A
:15才です。

*自己紹介B
:バナナが好きです。

*自己紹介C
:実は河童を見たことがあります。

 AとBは最初から喋る自己紹介で、Cは特定のトークを見たあとに追加される、ということにします。

 次に単語群を定義します。

@自己紹介バリエーション
自己紹介A
自己紹介B

 とりあえずAとBだけを記述しておきます。

 これをどう使うかというと、

*自己紹介
((自己紹介バリエーション))

 こんな感じ。

 カッコが二重になってます。

 まず、内側のカッコ(自己紹介バリエーション)が実行されます。  さっき書いた単語群@自己紹介バリエーションから、自己紹介Aまたは自己紹介Bのどちらかが選ばれます。

 内側のカッコは置き換えられ、外側のカッコが残るので(自己紹介A)または(自己紹介B)のいずれかの状態になります。

 今度は外側カッコが実行されます。(自己紹介A)であれば、*自己紹介Aの内容に置き換えられるわけです。

 で、結果として*自己紹介は「15才です。」または「バナナが好きです。」のいずれかになります。

 つまり、単語群@自己紹介バリエーションにトークの名前を設定しておき、トークを間接的に選ぶ形にしてあるわけです。

 ここまではOK?

 さて、今度はここに自己紹介Cを増やします。

 下のトークが、自己紹介Cを喋るようになるきっかけであるとします。

*
:かっぱっぱ。

 下のように書き加えます。

*
:かっぱっぱ。
(単語の追加、自己紹介バリエーション、自己紹介C)

 単語の追加は、単語群に新しい単語を追加する命令です。

 この例だと、単語群@自己紹介バリエーションに、新しい単語自己紹介Cが追加されます。

 つまり、このトークを読んだあとは、

@自己紹介バリエーション
自己紹介A
自己紹介B
自己紹介C

 こういう状態になってるわけです(イメージ的に)。

 この状態で、さきほどの*自己紹介を実行すると、自己紹介トークが3パターンに増えてるわけです。

 いかがなもんでしょ。

 以下補足。

  • 単語の記憶はちゃんと保存されます。オリジナルの辞書を書き換えるのではなく、セーブデータの方に書き加わってます。
  • 「単語の追加」は何回も実行しても重複登録はされません。よって確率が偏ることもないです。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-12-08 (水) 20:50:46 (4064d)