2008/08/20
「hrkt0115311の、教えて習うRuby教室。」Vol.63 ~やたらQEDを連呼したがるジェネレーターの巻~
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 〜 Ruby始めました 〜 「hrkt0115311の、教えて習うRuby教室。」Vol.63 ━━━━━━━━━━━やたらQEDを連呼したがるジェネレーターの巻 おはようございます。hrkt0115311です。毎回メルマガを読んでいただきありがとう ございます! LDRでRSSを登録して下さっている方もありがとうございます。 バックナンバーをご覧下さっている方にも感謝します。励みになります! http://reader.livedoor.com/about/http://archive.mag2.com/0000267290/rss10.xml 新たにご登録下さった方、はじめまして。どうぞよろしくお願いします。 暑い日が続きますねー。皆さん、夏ばてされていませんか? 先日、関東には雨が 降りました。雨が降っている間は湿度があって蒸し暑いのですが、雨上がりの町は ひんやりして秋の気配がしました。もうしばらくすると、秋がやってきますね。 そういえば、とんぼも目にするようになりました。 それでは本日のメルマガ始めます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○目次 ・ やたらQEDを連呼したがるジェネレーター(出力結果) ・ やたらQEDを連呼したがるジェネレーター(解説) ・ やたらQEDを連呼したがるジェネレーター(スクリプト) ・ 編集後記 ━━━━━━━━━━━━━━━━━━━━━━━━━━━免責事項 ソースコードは、発行者が実際に動かし、構文チェックなどもしていますが ご利用になられて万一損害が生じた場合、保証することができません。 ご利用になられる際は、ご自身でご確認になられた上で、お試し下さい。 ━━━━━━━━━━━━━━━━━━━━Rubyの導入方法について OSは何をお使いですか? LinuxでもMacOSでもWindowsでも、Rubyの 公式ページでインストール方法が説明されています。 ○Ruby Install Guide http://preview.tinyurl.com/4ghc3o ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○やたらQEDを連呼したがるジェネレーター(出力結果) $ ruby color_x_color.rb 問題を整理しよう。すべて ターコイズブルー であるとする。 ならば、 三 は 三 でなければなるまい。 見よ、ヌコもうなずいている。 ゆえに 三 は ターコイズブルー である。 QED 問題を整理しよう。すべて バーントシェンナ であるとする。 ならば、 びゃくろく は 六 でなければなるまい。 見よ、羊もうなずいている。 ゆえに びゃくろく は バーントシェンナ である。 QED 問題を整理しよう。すべて 一 であるとする。 ならば、 ビリヤードグリーン は こだいむらさき でなければなるまい。 見よ、蛇もうなずいている。 ゆえに ビリヤードグリーン は 一 である。 QED $ ruby color_x_color.rb 問題を整理しよう。すべて 二 であるとする。 ならば、 オリーブ は 六 でなければなるまい。 見よ、蛇もうなずいている。 ゆえに オリーブ は 二 である。 QED 問題を整理しよう。すべて 八 であるとする。 ならば、 みるいろ は ちとせみどり でなければなるまい。 見よ、ヌコもうなずいている。 ゆえに みるいろ は 八 である。 QED 問題を整理しよう。すべて 五 であるとする。 ならば、 ベビーピンク は 一 でなければなるまい。 見よ、羊もうなずいている。 ゆえに ベビーピンク は 五 である。 QED ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○やたらQEDを連呼したがるジェネレーター(解説) テンプレートとか改変ネタっておもしろいなと思いまして、理屈っぽい ひな形に、ランダムに言葉を流し込んで、奇妙な文章を出力してみようと 書いたスクリプトです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○やたらQEDを連呼したがるジェネレーター(スクリプト) =begin 1.三段論法風テンプレで不思議な文章を出力するジェネレータ 2.具は色名と漢数字で挑戦 ○色の名前一覧(名前順) - IROMSOFT http://www.hm.h555.net/~irom/g_about/color_02b.htm 色リストは上記サイトのデータを利用させていただきました。 お礼申し上げます。 =end require "jcode" $KCODE = "UTF-8" class Color_x_color def initialize @a1 = 0 @a2 = 0 @a3 = 0 end def c a = ["アイアンブルー","あいいろ","あいねず","アイビーグリーン","アイボリー", "あお","あおたけいろ","あおみどり","あおむらさき","あか","あかさびいろ", "あかだいだい","あかねいろ","あかむらさき","あさぎいろ","あずきいろ", "アッシュグレイ","アップルグリーン","アプリコット","あやめいろ", "あんずいろ","アンバー","イエロー","イエローオーカー","ウイスタリア", "うぐいすいろ","うぐいすちゃ","うこんいろ","うすくれない","うるみしゅ", "エクルベイジュ","えどむらさき","えびちゃ","エメラルドグリーン","えんじ", "えんたんいろ","おうどいろ","おうに","オーキッド","オールドローズ", "オリーブ","オリーブグリーン","オリーブドラブ","オリエンタルブルー", "オレンジ","カーキー","カーマイン","かきいろ","かきつばたいろ", "かちいろ","かっしょく","カナリヤ","かばいろ","かめのぞき", "からくれない","からしいろ","かりやすいろ","きあか","きいろ", "ききょういろ","きちゃ","きなりいろ","きはだいろ","きみどり", "キャロットオレンジ","きんあか","ぎんしゅ","きんちゃ","ぎんねず", "くさいろ","くちばいろ","グラスグリーン","クリームイエロー", "くりいろ","グリーン","グレイ","くろ","くろちゃ","クロムイエロー", "ぐんじょういろ","こいあい","こうじいろ","こうばいいろ", "コーラルレッド","ゴールデンイエロー","こけいろ","こげちゃいろ", "ココアブラウン","こだいむらさき","コチニールレッド","こはくいろ", "コバルトグリーン","コバルトブルー","ごふんいろ","こむぎいろ","コルク", "こんあい","こんいろ","こんじょう","サーモンピンク","さくらいろ", "サックスブルー","さびあさぎ","さびいろ","さんごいろ","シアン", "シーグリーン","シェルピンク","シグナルレッド","しこん", "シャトルーズグリーン","しゅいろ","しょうじょうひ","しょうぶいろ", "ジョンブリアン","シルバーグレイ","しろ","しんく","しんばしいろ", "すおう","スカーレット","スカイグレイ","スカイブルー","すすたけいろ", "スチールグレイ","ストロベリー","すないろ","スノーホワイト","すみ", "すみれいろ","スレートグレイ","せいじいろ","セピア","セルリアンブルー", "ぞうげいろ","そらいろ","ターコイズブルー","たいしゃ","だいだいいろ", "たまごいろ","タン","たんぽぽいろ","チェリーピンク","ちとせみどり", "チャイニーズレッド","ちゃいろ","チャコールグレイ","ちゃねずみ", "ちゅうき","チョコレート","つちいろ","つつじいろ","つゆくさいろ", "てついろ","てつぐろ","てつこん","テラコッタ","ときいろ","ときわいろ", "とびいろ","トマトレッド","ナイルブルー","なすこん","なまりいろ", "なんどいろ","にっけいいろ","ネービーブルー","ネープルスイエロー", "ネールピンク","ねずみいろ","バーガンディー","パープル","バーミリオン", "パールグレイ","バーントアンバー","バーントシェンナ","はいいろ", "バイオレット","はいちゃ","はだいろ","はとばいろ","はなだいろ","バフ", "ばらいろ","パンジー","ピーコックグリーン","ピーコックブルー", "ピーチ","ひまわりいろ","びゃくぐん","びゃくろく","ヒヤシンス", "ビリジアン","ビリヤードグリーン","ひわいろ","ひわだいろ","ピンク", "フォレストグリーン","ふかみどり","ふじいろ","ふじなんど","ふじむらさき", "ブラウン","ブラック","ブルー","プルシャンブルー","ブロンズ","ブロンド", "ベージュ","べにあか","べにいろ","べにえびちゃ","べにかばいろ", "べにひ","ベビーピンク","ベビーブルー","ヘリオトロープ","べんがらいろ", "ぼたんいろ","ボトルグリーン","ポピーレッド","ホリゾンブルー","ボルドー", "ホワイト","マゼンタ","まっちゃいろ","まつばいろ","マラカイトグリーン", "マリーゴールド","マリンブルー","マルーン","マンダリンオレンジ", "みかんいろ","みずあさぎ","みずいろ","ミッドナイトブルー","みどり", "みるいろ","ミントグリーン","むらさき","もえぎ","もえぎいろ","モーブ", "ももいろ","やまぶきいろ","ライラック","らくだいろ","ラベンダー", "ランプブラック","リーフグリーン","りきゅうねずみ","ルビーレッド", "るりいろ","るりこん","レグホーン","レッド","レモンイエロー", "れんがいろ","ローアンバー","ローシェンナ","ローズ","ローズグレイ", "ローズピンク","ローズレッド","ろくしょういろ","ワインレッド", "わかくさいろ","わかたけいろ","わかばいろ","わすれなぐさいろ"] b = ["一","二","三","四","五","六","七","八","九","十"] c =["ネズミ","牛","虎","ウサギ","ドラゴン", "蛇","馬","羊","猿","バード","犬","猪",] ra = #配列a用乱数 rb = #配列b用乱数 r3 =[] max_num = 4 max_num.times do r3 << rand(2) end #if修飾子で、変数に入れる配列の要素を調節する @a1 = a[rand(a.size)] if r3[0] == 0 @a2 = b[rand(b.size)] if r3[1] == 0 @a3 = a[rand(a.size)] if r3[2] == 0 @a1 = b[rand(b.size)] if r3[0] == 1 @a2 = a[rand(a.size)] if r3[1] == 1 @a3 = b[rand(b.size)] if r3[2] == 1 @b = "ヌコ" if r3[3] == 0 #1/2でヌコ @b = c[rand(c.size)] if r3[3] == 1 #1/2で干支 end def p puts <<E 問題を整理しよう。すべて #{@a1} であるとする。 ならば、 #{@a2} は #{@a3} でなければなるまい。 見よ、#{@b}もうなずいている。 ゆえに #{@a2} は #{@a1} である。 QED E end end #実行部分//大事なことなので三回出力しました(え a = Color_x_color.new a.c a.p b = Color_x_color.new b.c b.p c = Color_x_color.new c.c c.p ■ 編集後記 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 「hrkt0115311の、教えて習うRuby教室。」を最後までお読みいただき ありがとうございます。いかがでしたか? 組み合わせで、偶然ネガティブな文章が生成されてもいやなので、 色名と漢数字の組み合わせにしました。 説明不足・分かりにくい点・私の理解の誤りなど、お気づきになられた点があれば、 お気軽にご意見・ご感想をお寄せ下さい。 enjoy.ruby@gmail.com にて、 メルマガ読者の皆さまからのフィードバックをお待ちしています。 それではまた、次号でお会いしましょう。 ■ いただいた反響について ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 「こんな仕組み作れないかな」とか「説明不足で分からないよ」といった ご指摘をお寄せいただけると嬉しいです。みなさまの声で、メルマガを 育てていただければ嬉しいです。また、メルマガで、頂戴したメールの 一部を紹介させていただく可能性があります。差し支えがある場合は 「発行者のhtkt0115311に読んで欲しいだけで、メルマガには掲載しないで」 とお書きいただければ幸いです。 ■ 転送や再配布について ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ blogなどでご紹介いただく際は、 http://www.mag2.com/m/0000267290.html などを並記していただき、私の書いた文章であることが分かる形に していただけると幸いです。またメルマガの転送については、転送者さんと 転送したメルマガを受け取られた方が迷惑でない範囲であれば歓迎します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ メールマガジン「hrkt0115311の、教えて習うRuby教室。」 ○発行者 htkt0115311 ○発行システム 『まぐまぐ!』 http://www.mag2.com/ ○配信中止はこちら http://www.mag2.com/m/0000267290.html ○公式サイト http://enjoy-programming.g.hatena.ne.jp/hrkt0115311/ ○日記 http://d.hatena.ne.jp/hrkt0115311/ ○Twitter https://twitter.com/hrkt0115311 ○お問い合わせ enjoy.ruby@gmail.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-
2009/08/27 「hrkt0115311の、迷えるプログラミング教室」Vol.91 ~htmlSQLで「みそ録」作ったよ! の巻~
-
2009/07/19 「hrkt0115311の、迷えるプログラミング教室」Vol.90 ~URL指定すると、はてな記法を返すスクリプトの巻~
-
2009/07/13 「hrkt0115311の、迷えるプログラミング教室」Vol.89 ~XML処理するTwitterまとめスクリプト改編の巻~
-
2009/07/13 「hrkt0115311の、迷えるプログラミング教室」Vol.89 ~XML処理するTwitterまとめスクリプト改編の巻~
-
2009/04/25 「hrkt0115311の、迷えるプログラミング教室」Vol.88 ~HTMLの部分置き換えスクリプトの巻~



