2008/08/28
「hrkt0115311の、教えて習うRuby教室。」Vol.71 ~「a = Trouble.new」の巻~
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 〜 Ruby始めました 〜 「hrkt0115311の、教えて習うRuby教室。」Vol.71 ━━━━━━━━━━━━━━━━━━━━「a = Trouble.new」の巻 おはようございます。hrkt0115311です。毎回メルマガを読んでいただきありがとう ございます! LDRでRSSを登録して下さっている方もありがとうございます。 バックナンバーをご覧下さっている方にも感謝します。励みになります! http://reader.livedoor.com/about/http://archive.mag2.com/0000267290/rss10.xml 新たにご登録下さった方、はじめまして。どうぞよろしくお願いします。 しょーもないアイデアを思いついてしまいまして、Array.newで配列を作るように Trouble.new を使ってみたいなぁと思いまして、なんか書いてみました。 それでは本日のメルマガ始めます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○目次 ・ 「a = Trouble.new」(出力結果) ・ 「a = Trouble.new」(解説) ・ 「a = Trouble.new」(スクリプト) ・ 編集後記 ━━━━━━━━━━━━━━━━━━━━━━━━━━━免責事項 ソースコードは、発行者が実際に動かし、構文チェックなどもしていますが ご利用になられて万一損害が生じた場合、保証することができません。 ご利用になられる際は、ご自身でご確認になられた上で、お試し下さい。 ━━━━━━━━━━━━━━━━━━━━Rubyの導入方法について OSは何をお使いですか? LinuxでもMacOSでもWindowsでも、Rubyの 公式ページでインストール方法が説明されています。 ○Ruby Install Guide http://preview.tinyurl.com/4ghc3o ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○「a = Trouble.new」(出力結果) $ ruby trouble.rb 自転車が壊れた。 仕方がないので、お店まで引きずっていくことにする。ついてない。 チェーンに油さしてね、と店主に言われてしまった。 ピアノが壊れた。 仕方がないので、お店まで引きずっていくことにする。ついてない。 ていうか、ピアノを引きずってくって、楽器めちゃめちゃ傷むじゃん(汗) バッハに説教されそう。 ピアノが壊れた。 仕方がないので、お店まで引きずっていくことにする。ついてない。 ていうか、ピアノを引きずってくって、楽器めちゃめちゃ傷むじゃん(汗) バッハに説教されそう。 携帯が壊れた。 仕方がないので、お店まで引きずっていくことにする。ついてない。 ていうか、携帯は引きずらないで持とうよと小一時間自分を問い詰めたい。そんな扱いするから壊れるのでは……。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○「a = Trouble.new」(解説) 配列に何か言葉をおさめて、ランダムで短い文章を出力する、というのは 何度もやっているわりに、まだ 「a = Trouble.new」 ってしたことが なかったので、試してみました。ご笑覧いただければ幸いです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ○「a = Trouble.new」(スクリプト) =begin 1.「a = Trouble.new」が全てです。 =end $KCODE = "UTF-8" require "jcode" class Trouble def initialize end def p a = ["自転車","冷蔵庫","車","ピアノ","家","パソコン","携帯"] b = a[rand(a.size)] puts "\n#{b}が壊れた。" puts "仕方がないので、お店まで引きずっていくことにする。ついてない。" if b == "自転車" puts "チェーンに油さしてね、と店主に言われてしまった。" elsif b == "冷蔵庫" puts "\nていうか、#{b}を引きずってくって、どれだけ剛力なんだよと自分を問い詰めたい夏。" elsif b == "車" puts "\nていうか、#{b}を引きずってくって、修理方法は他にもあるだろうと自分を問い詰めたい。" elsif b == "ピアノ" puts "\nていうか、#{b}を引きずってくって、楽器めちゃめちゃ傷むじゃん(汗) バッハに説教されそう。" elsif b == "家" puts "\nていうか、#{b}を引きずってくって、火事場の馬鹿時からにもほどがある。近所迷惑だと思われる。" elsif b == "パソコン" puts "\nていうか、#{b}は精密機器だと思うのだけど。引きずってくのかぁ(汗) 余計壊れないかなぁ。" elsif b == "携帯" puts "\nていうか、#{b}は引きずらないで持とうよと小一時間自分を問い詰めたい。そんな扱いするから壊れるのでは……。" end end end a = Trouble.new a.p b = Trouble.new b.p c = Trouble.new c.p d = Trouble.new d.p ■ 編集後記 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 「hrkt0115311の、教えて習うRuby教室。」を最後までお読みいただき ありがとうございます。いかがでしたか? パスカルの三角形に挑戦しようと思ったのですが、検索したら既に 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の部分置き換えスクリプトの巻~



