これにインスパイヤされて手慰みで。一句ひねるより速く書けたかも。
俳句の有限性と自己組織化するWeb:DESIGN IT! w/LOVE一方、俳人の正岡子規はあかさたなの五十音という限られた種類の文字を用いて、たった17音の組み合わされる俳句という形式の有限性を憂いていたといわれています。
みそひとじ かたりつくせるわけもなし かたるにたりる こともまたなし | |
---|---|
FirefoxとSafariでは動作確認しましたが、IE 5では動きませんでした。IE 6なら動くと思うのですが。
ソースは以下のとおりです。
function Haijin(){ this.kana = []; var head = 'ぁ'.charCodeAt(0); var tail = 'ん'.charCodeAt(0); for (var ord = head; ord < tail; ord++){ this.kana.push(String.fromCharCode(ord)); } this.rand_char = function(){ return this.kana[ Math.floor(Math.random() * this.kana.length) ]; } this.rand_sequence = function(n){ var retval = ''; while(n--){ retval += this.rand_char(); } return retval; } this.ikku = function(){ var ku = []; for (i = 0; i < arguments.length; i++){ ku[i] = this.rand_sequence(arguments[i]); } return ku.join(' '); } }
使い方は、以下のとおり。
var haijin = new Haijin; var tanka = haijin.ikku(5,7,5,7,7); var haiku = haijin.ikku(5,7,5);
見ての通り、リズムを数字で指定しているので、字余りにも対応してますw
しかし見ての通り、詠み上がった句は、俳人というより廃人です。
まともな歌を詠みたい人は、上のアフィリエイトをご利用ください。任天堂の本来の商品です:)
Enjoy!
Dan the Haiker
お礼が遅くなりました。直しました。ありがとうございます。
Barさん、
>誰かマルコフ連鎖で同趣旨のスクリプトつくってくれる人いないの?
問題はマルコフ連鎖の統計なんだよねえ。IPADICあたりから吸い出すか....
#Googleにどっさり元データがありそうにも思える
>ただしJavaScriptで
全部は難しいから、Ajaxでというあたりが落としどころかしらん。
Dan the Haiker