やる夫がRubyをはじめるようです(3)

ラストです。

-----------------------------------------------------------------------------------

╋━━━━━━━━━━━━━━━╋
┃やる夫がRubyをはじめるようです(3)┃
╋━━━━━━━━━━━━━━━╋



[41]
翌日
      |┃三 ガラッ
      |┃  ____
      |┃/⌒  ⌒\        やらない夫、早速Rubyの事おしえるお。
      |┃(●)  (●) \
───|┃:⌒(__人__)⌒:::::\     言われたとおり、やる夫の愛機持ってきたお。
      |┃  |r┬-|     |⌒)
      |┃   `ー'ォ     //
      (⌒ヽ・    ・ ̄ /
      |┃ノ       /
      |┃   つ   <
      |┃  (::)(::)   ヽ
      |┃/    >  )
      |┃     (__)



[42]
           / ̄ ̄\
         /   _ノ  \       おう、やる夫、よく来たな。
         |    ( ●)(●
.         |      (__人__)     じゃあ早速はじめるぞ。
           |,      ` ⌒´ノ
          │         }
           ヽ、      ソ
          イ斗┴r┐` .;
    / ̄`ーゞ、  / |__ 〈ー─r、
   /     \ ∨\  |,ベ._ / |
   {    . : : : . ヽ>ー\[ ̄{ 〉\|、_
   |        `丶}\  __\_]~∨'\`ヽ
   :|   ._    \_}/r‐-}\ ゙,`''く l ゙,
    ト、: :./ / ̄`` ぐ└f'二)::{  ',  | !,ゞ┐
    `、∨ ´ ,.、-''"~ ̄}_{‐''く:::{_  ', _|_|_,rー'、_
     }{ / _、-'''"~ ̄{_\;;;;;j;><;:::::\:::ヘ}\
      }∨: /  _、-''゙~ ̄ ̄     \::::},之_ ヽ
       〉∨   /           ,.、イ;;ノ_   `ヽ}
     {: \,/\  -‐ '"   /` ̄      :.:}



[43]
               /7
                 //
             //    まずは、Rubyの種類についてだ。
       __    //
.    /ノ ヽ\ .//      やる夫、Rubyってどれくらい種類があると思う?
.   / (●)(●〉/
  l    (__人_,//l
.  |    `⌒// ノ
   l       // ./
.   ヽ r-‐''7/)/
    / と'_{'´ヽ
    /  _.、__〉 ト,
    {  、__}  |.i
    ヽ _,.フ  .|.|



[44]
      _____     ━┓
    / ―   \    ┏┛   Rubyの種類?Versionの違いじゃなくてかお?
  /ノ  ( ●)   \  ・
. | ( ●)   ⌒)   |      Rubyは1つじゃないのかお?
. |   (__ノ ̄    /
. |             /
  \_    ⊂ヽ∩\
    /´     (,_ \.\
.    |  /     \_ノ



[45]
    / ̄ ̄\
  /   _ノ  \    ああ、実はRubyには色々な種類の実装があるんだ。
  |    ( ●)(●)
  |     (__人__)   もちろんVersionの違いもあるがな。
  |         ノ
  |     ∩ノ ⊃ }
  /ヽ   / _ノ }
 ( ヽ  /  / ノ
  ヽ “  /_|  |
   \__/__ /



[46]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     Versionは大きく分けて1.8系と1.9系の2つあるにょろ。
         //, '/     ヽハ  、 ヽ
         〃 {_{ノ    `ヽリ| l │ i|    1.8系と1.9系は違いが大きくて、これから始めるなら1.9系を
         レ!小l●    ● 从 |、i|    お勧めするにょろ。
          ヽ|l⊃ 、_,、_, ⊂⊃ |ノ│
        /⌒ヽ__|ヘ   ゝ._)   j /⌒i !
      \ /:::::| l>,、 __, イァ/  /│
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |



[47]
     / ̄ ̄\
   /   _ノ  \     Versionは大きく分けて1.8系と1.9系の2種類ある。
   |    ( ●)(●
   |      (__人__)    もうひとつは実装の種類だ。
.   |        ノ
    |      ∩ ノ ⊃    (ちゅるやさん、いつの間に来たんだ?)
  /     ./ _ノ
  (.  \ / ./_ノ │
  \  “ /___|  |
.    \/ ___ /



[48]
-------------------------------------------------------------------
・MRI (Matz' Ruby Implimentation)
 Rubyの公式な実装、まつもとゆきひろ氏によって開発された。
 C言語による実装なので、別名CRubyとも呼ばれる。

・JRuby
 Javaによって書かれた実装。Java仮想マシン(JVM)上で動くので、
 JVMさえあればどのプラットフォームでも動く。

・IronRuby
 マイクロソフトによるRubyの実装。
 .NET Framework上で動作する。

・MacRuby
 Objective-Cで書かれた実装。
 Mac OS X上で動作する。

・Rubinius
 大部分がRuby自身で書かれたRubyの実装。
-------------------------------------------------------------------
    -、
   (  ヽ
    ヽ,_ \
    /゙i、`゙""゙ヽ           -‐ '´ ̄ ̄`ヽ、
   /   `'i   ゙、       / /" `ヽ ヽ  \
   l,  _/ヽ  .入      //, '/     ヽハ  、 ヽ
    ヾ、   / .ノ      〃 {_{\    /リ| l │ i|
      `ー'く /.\.     レ!小l●    ● 从 |、i|
            \\_. ヽ|l⊃ 、_,、_, ⊂⊃  |ノ│
               ( __ノヽ__|ヘ   ゝ._)   j /⌒i !
   .             \\::| l>,、 __, イァ/  / │
                 /\\ | ヾ:::|三/::{ヘ、__∧. |
   .             `ヽ<\\  ヾ∨:::/ヾ:::彡' |
実装に関しては本当にいっぱいあるにょろ。
有名な実装を挙げるとこんな感じにょろ。
この他にも MagLev、GoRuby、RubyEE などがあるにょろ。
※詳しく知りたい人はキーワード「Ruby 実装」等で Google it!



[49]
         ____
       /   u \      いっぱいあって、どれを選べば良いか
      /  \    /\     わからないお・・・。
    /  し (○)  (○) \
     | ∪    (__人__)  J |
    \  u   `⌒´   /



[50]
   / ̄ ̄\
 /   _ノ  \        まあ、最初はMRIの1.9系を入れておけばいいだろ。
 |    ( ●)(●)
. |     (__人__)       他の実装を試したくなったらRVM (Ruby Version Manager)
  |     ` ⌒´ノ       みたいなツールがあるからそれを使えばいい。
.  |         }
.  ヽ        }        ※UNIX系の環境で複数のRuby処理系を
   ヽ     ノ  mm     インストール・共存させるツール
   /    ̄ ̄ ̄ つノ
   |    | ̄



[51]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     それじゃあ、早速インストールするにょろ。
         //, '/     ヽハ  、 ヽ
         〃 {_{       リ| l.│ i|    やる夫くんのマシンのOSは何にょろ?
         レ!小l\   `ヽ 从 |、i|
          ヽ|l >   ●  | .|ノ│
           |ヘ⊃ 、_,、_,⊂⊃j  | ,|
           | /⌒l __, イァト |/ |
           | /  /::|三/:://  ヽ |
           | |  l ヾ∨:::/ ヒ::::彡, |



[52]
               ∩_
              〈〈〈 ヽ   やる夫のマシンはWindowsだお。
      ____   〈⊃  }
     /⌒  ⌒\   |   |
   /( ●)  (●)\  !   !
  / :::::⌒(__人__)⌒:::::\|   l
  |     |r┬-|       |  /
  \     ` ー'´     //
  / __        /
  (___)      /



[53]
   / ̄ ̄\
 /   _ノ  \          WindowsならWindows版のバイナリがあるから
 |    ( ●)(●)         それを入れるのが手っ取り早いな。
. |     (__人__)
  |     ` ⌒´ノ         MacならMacRubyのインストーラーかMacPortsから、
.  |         }          Linuxならソースコードからコンパイルして入れるといいだろ。
.  ヽ        }
   ヽ     ノ    ビシッ
   /    く__,-ュ__   て
   |    ___ 三)  (
    |    |      



[54]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     それじゃあ、Rubyの公式サイトから
         //, '/     ヽハ  、 ヽ    Windows版Rubyバイナリをダウンロードするにょろ。
         〃 {_{ノ    `ヽリ| l │ i|
         レ!小l●    ● 从 |、i|    ※URL:http://www.ruby-lang.org/ja/downloads/
          ヽ|l⊃ 、_,、_, ⊂⊃ |ノ│
        /⌒ヽ__|ヘ   ゝ._)   j /⌒i !    ActiveScriptRubyかRuby-mswin32がお勧めにょろ。
      \ /:::::| l>,、 __, イァ/  /│   バージョンは1.8.7じゃなくて1.9.2だから、
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |    間違えないよう注意するにょろ。
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |



[55]
        ____
      /      \       おっし、インストールしたお。
     /  ─    ─\
   /    (●)  (●) \
    |       (__人__)    |   ___________
   \      ` ⌒´  ,/   .| |             |
   ノ           \   .| |  やる夫専用    |
. /´                   | |             |
 |    l              | |             |
 ヽ    -一ー_~、⌒)^),-、    .|_|___________|
  ヽ ____,ノγ⌒ヽ)ニニニニ   _|_|__|_



[56]
       / ̄ ̄\
     /  ヽ、_  \    あとRubyと一緒にRubyGemsっていうパッケージ管理ツールを
    (●)(● )   |    入れておくのが良いだろ。
    (__人__)     |
    (          |    1.9系のRubyなら標準で入っているからインストールは不要だがな。
.    {          |
    ⊂ ヽ∩     く
     | '、_ \ /  )
     |  |_\  “ ./
     ヽ、 __\_/



[57]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     じゃあ、ちゃんとインストールされたか
         //, '/     ヽハ  、 ヽ    確認するにょろ!
         〃 {_{`ヽ   ノ リ| l │ i|
         レ!小l●    ● 从 |、i|    やる夫くん、コマンドプロンプトを起動するにょろ。
          ヽ|l⊃ r‐‐v ⊂⊃ |ノ│
        /⌒ヽ__|ヘ  ヽ ノ   j /⌒i !    ※Macならターミナル、Linuxならコンソールで確認してください
      \ /:::::| l>,、 __, イァ/  /│
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |



[58]
-------------------------------------------------------------------
C:\Users\yaruo>
-------------------------------------------------------------------
        ____
      /⌒  ⌒\        わかったお!
     / ( ●)  (●)\
   / ::::::⌒(__人__)⌒:::::\
    |      |r┬-|     |
   \     `ー'´    /
   ノ            \
. /´                 ヽ                 カ
 |    l   l||l 从人 l||l      l||l 从人 l||l   カ   タ
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
   ┌ ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
  ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄



[59]
   / ̄ ̄\
 /   _ノ  \        よし、それじゃあ「ruby -v」でRubyのバージョン、
 |    ( ●)(●)       「gem -v」でRubyGemsのバージョンを表示させてみろ。
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ    ビシッ
   /    く__,-ュ__   て
   |    ___ 三)  (
    |    |      



[60]
-------------------------------------------------------------------
C:\Users\yaruo> ruby -v
'ruby' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\Users\yaruo>
-------------------------------------------------------------------
         ____、′     、 ’、  ′
       /      \     . ’      ’、           うごかないお・・・。
      /  ─    ─\ 、′・” ”;  ”  ’、
    /    (●)  (●) \  ’、′・  ’、.・”;  ”  ’、
     |       (__人__)  ’、′  ’、  (;;ノ;; (′‘ ・. ’、′”;
     \      ` ⌒´ ’、′・  ( (´;^`⌒)∴⌒`.・   ” ;  ’、′
    ノ          、 ’、 ’・ 、´⌒,;y'VAIO;;;;;ノ、"'人      ヽ
   /           〃  、(⌒ ;;;:;´'从 ;'   ;:;;) ;⌒ ;; :) )、   ヽ
  (    ヽ、     ,.γ ー( ´;`ヾ,;⌒)´  从⌒ ;) `⌒ )⌒:`.・ ヽ
   |   ヽ     γ⌒ヽ)ニ`:::、 ノ  ...;:;_)  ...::ノ  ソ ...::ノ



[61]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     たぶんRubyの実行プログラムにパスが通ってないにょろ。
         //, '/     ヽハ  、 ヽ
         〃 {_{`ヽ   ノ リ| l │ i|    Rubyをインストールしたディレクトリにある「bin」フォルダに
         レ!小l●    ● 从 |、i|    パスを設定するにょろ。
          ヽ|l⊃ 、_,、_, ⊂⊃ |ノ│
        /⌒ヽ__|ヘ   ゝ._)   j /⌒i !
      \ /:::::| l>,、 __, イァ/  /│
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |



[62]
        ____
      /─   ─\       Rubyのインストール先が「C:\Program Files\Ruby-1.9.2」だから
     / (●)  (●).\      「C:\Program Files\Ruby-1.9.2\bin」にパスを通すお。
   /     (__人__)   \
    |      ` ⌒´     |
   \            /
   ノ            \
. /´                 ヽ                 カ
 |    l   l||l 从人 l||l      l||l 从人 l||l   カ   タ
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
   ┌ ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
  ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄



[63]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     パスを通したらもう一度試すにょろ。
         //, '/     ヽハ  、 ヽ
         〃 {_{`ヽ   ノ リ| l │ i|
         レ!小l●    ● 从 |、i|
          ヽ|l⊃ 、_,、_, ⊂⊃ |ノ│
        /⌒ヽ__|ヘ   ゝ._)   j /⌒i !
      \ /:::::| l>,、 __, イァ/  /│
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |



[64]
-------------------------------------------------------------------
C:\Users\yaruo> ruby -v
ruby 1.9.2p136 (2010-12-25 revision 30365) [i386-mswin32_100]

C:\Users\yaruo> gem -v
1.3.7

C:\Users\yaruo>
-------------------------------------------------------------------
          ____
        /_ノ  ヽ、_\                   やったお!
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ        これでやる夫もRubyistだお。
/⌒)⌒)⌒) ::::::⌒(__人__)⌒:::\     /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /|^| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
|     ノ     | |  |   \| |              |
ヽ    /     `ー'´     | |              |
 |     |   l||l 从人 l||l.   | |  やる夫専用    |
 ヽ     .---一ー_~、⌒)、⌒)^),| |              |
  ヽ _____,ノ|二二二二|_|_______________|



[65]
               / ̄ ̄\
             / ノ  \ \    (いや、まだ起動させただけだろ・・・)
             |  (●)(●) |
.             | u.(__人__) .|    それじゃ次はお約束のアレをやるぞ。
        r、      |   ` ⌒´  .|
      ,.く\\r、   ヽ      ノ    やるお、コマンドプロンプトで
      \\\ヽ}   ヽ     /     「irb」ってうってみろ。
       rヽ `   ヽ  /   ァ'´ヽ
        └'`{  .   \.|   /   i
            ヽ、._   ヽ、_,r'   .|
            `ヽ、   /'  |
               `'ー'´



[66]
-------------------------------------------------------------------
C:\Users\yaruo> irb
irb(main):001:0>
-------------------------------------------------------------------
        ____
      /⌒  ⌒\        わかったお!
     / ( ●)  (●)\
   / ::::::⌒(__人__)⌒:::::\
    |      |r┬-|     |
   \     `ー'´    /
   ノ            \
. /´                 ヽ                 カ
 |    l   l||l 从人 l||l      l||l 从人 l||l   カ   タ
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
   ┌ ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
  ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄



[67]
             -‐ '´ ̄ ̄`ヽ、
             / /" `ヽ ヽ  \     irbは「interactive ruby」の略にょろ。
         //, '/     ヽハ  、 ヽ    rubyの式を標準入力から入力/実行する為のツールにょろ。
         〃 {_{ノ    `ヽリ| l │ i|
         レ!小l●    ● 从 |、i|    お約束の Hello World プログラムを実行してみるにょろ。
          ヽ|l⊃ 、_,、_, ⊂⊃ |ノ│
        /⌒ヽ__|ヘ   ゝ._)   j /⌒i !
      \ /:::::| l>,、 __, イァ/  /│
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |



[68]
   / ̄ ̄\
 /   _ノ  \        標準出力に文字列を表示させるのは「puts」だ。
 |    ( ●)(●)       やる夫、あとはわかるな?
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ    ビシッ
   /    く__,-ュ__   て
   |    ___ 三)  (
    |    |      



[69]
        ____
      /⌒  ⌒\        もちろんだお!
     / ( ●)  (●)\
   / ::::::⌒(__人__)⌒:::::\
    |      |r┬-|     |
   \     `ー'´    /
   ノ            \
. /´                 ヽ                 カ
 |    l   l||l 从人 l||l      l||l 从人 l||l   カ   タ
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
   ┌ ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
  ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄



[70]
-------------------------------------------------------------------
C:\Users\yaruo> irb
irb(main):001:0> puts "やる夫がRubyをはじめるようです 完"
やる夫がRubyをはじめるようです 完
=> nil
irb(main):002:0>
-------------------------------------------------------------------
-----------------------------------------------------------------------------------