<Ruby/>しりとりでパナキにつなげるプログラム
”チョコレート -> トリ -> リンゴ -> ゴリラ -> ラッパ -> パナキで〜す!”
”あれ?そーいえば芸人のサバンナ八木さんがやってるパナキって、木構造を利用してプログラムにできそうやな”
というわけで、今日は、入力された単語をただただ”パナキ”につなげるだけのプログラムを作りました。
</> Panaki.rb
名前だけみると、なんかカッコイイ!
ですが、やっていることは単純で、結局木構造ですらありません。
まず、何よりパナキにつなげるための単語のデータが重要です。
このネタ、もともと大学の課題がきっかけで思いついたのですが、”パナキ”でググってみると、なんと、パナキ 究極のパナキ攻略法という記事があったのです!
そこには、濁点以外の五十音すべての言葉から、パナキへの最短ルート(?)が書かれていました。
僕はそこに、オリジナルで濁点にも対応させて、それをテキストファイルに書き下していきました。
メソッドを定義しているのはあまり意味がないですが、このころはruby初心者で色々試していたので、お気になさらず。
他にも、よくよく考えたら、配列を作っていくとことか、stripメソッドじゃなく、splitメソッドで済みそうだなとか、色々思ったりするのですが、そこはスルーでお願いします。
そして、panaki.txt書き下す時に木構造のように(インデントでわかりやすくしてます)書き下しています。
なおかつ、Panaki.rbの本体は
print "#{word} -> "
until word[word.length-1,word.length] == array[j][0,1] do
j += 1
end
word = array[j]
j = 0
end
puts "#{word}で〜す!"
で、word(初期値:入力された文字列)の末尾の文字と、先頭の文字が一致する単語が見つかるまで上からpanaki.txtを上から読み込み、一致したら、一致した単語をwordに代入し、wordが”パナキ”に一致するまで、それをひたすら繰り返す、というものです。
いかがでしたでしょうか。
以上パナキプログラムでした。
Effective Ruby [ ピーター・J.ジョーンズ ] 価格:3,456円 |
価格:2,808円 |