hrkt0115311の、迷えるプログラミング教室  RSSを登録する

プログラミングに興味はありますか? 素人が入門書片手にソースコード書いたりcgi作ったり、迷子になったりするメルマガです。広大なプログラミングの森で、一緒に迷子を楽しんでみませんか?

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る