やる夫が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> ------------------------------------------------------------------- -----------------------------------------------------------------------------------