Next: , Previous: Emulation, Up: Top


27.26 まぜこぜ新聞(Dissociated Press)

M-x dissociated-pressはテキストを、単語単位、または、文字単位で 混ぜ合わせるコマンドです。 普通の英語をバッファに入れた状態でこれを実行すると、 きわめておもしろい結果が生成されます。 入力はカレントバッファから取り、 出力は‘*Dissociation*’というバッファに書き込みます (およそ2、3行生成するごとにバッファが再表示されるので、 生成内容を順次読めます)。

M-x dissociated-pressは定期的にもっと出力を続けるかどうか聞いてきます。 nと答えると生成をやめます。 また、C-gを打てばいつでも止められます。 出力はバッファ‘*Dissociation*’に残っていますから、 必要ならどこへでもコピーできます。

M-x dissociated-pressはバッファ中のある箇所からランダムに 別の箇所にジャンプすることを繰り返していきます。 ただのゴミではなくおもしろい出力が得られるように、 ある一連の単語列からつぎの一連の単語列に移る際に、 それらのあいだに一定の重複があるようにします。 つまり、たとえばpresidentと出力したところで別の場所にジャンプすることに 決めたら、最後にあったentと同じ文字列のある単語、 たとえばpentagonのところに飛んでそこから続けるので、 結果としてpregidentagon 1 というのが生成されるわけです。 元テキストが長いとたいへんおもしろい結果を得られます。

M-x dissociated-pressに正の数引数を渡すと 文字単位で動作し、その数値は重複する文字数を指定します。 また、負の数引数を渡すと単語単位で動作し、その数値(の絶対値)で重複する 単語数を指定します。 引数を指定しないと「2」を指定したのと同じになります。 繰り返しますが、出力はつねにバッファ‘*Dissociation*’に現れます。 もとのバッファは変更されません。

M-x dissociated-pressは、入力テキストから頻度表を作って マルコフ連鎖を適用したのに近い結果をもたらしますが、 それ自体はきわめてオリジナルな発明です。 というのは、マルコフ連鎖では単に乱数に基づいて文字や語を選ぶだけなのに対し、 このコマンドでは乱数に基づいて連続した文字や語をコピーしてくるからです。 このため、より高速な実行が可能ですし、読んでおもしろい結果が得られます。

M-x dissociated-pressの使いすぎは仕事に差し支え、 場合によっては重大な障碍となりますから注意しましょう。 また、ユーザーに受け入れてもらうためにも、 マニュアルにこのコマンドの出力を利用するのはやめたほうがよいです。 でも、せいぜい楽しんで、よかったらバグの提案もよろしく。 2


Footnotes

[1] この合成語は、 ベトナム戦争中にまさにそれにぴったりの意味で実際に使われたことがある。

[2] 【訳注】 この段落自体、M-x dissociated-pressで生成したような ものなので、原文を掲載しておく。
It is a mustatement that too much use of Dissociated Press can be a developediment to your real work. Sometimes to the point of outragedy. And keep dissociwords out of your documentation, if you want it to be well userenced and properbose. Have fun. Your buggestions are welcome.