起動方法
RubyのREPL環境はInteractive Rubyと呼ばれており、ターミナル上で「irb
(/usr/bin/irb)」コマンドを用いて起動できます。
Kumasan:~ shell$ irb
irb(main):001:0> "hello irb"
=> "hello irb"
irb(main):002:0> 1 + 2
=> 3
終了方法
quit
と入力すれば終了します。
irb(main):003:0> quit
Kumasan:~ shell$
quit以外にもexit
, irb_quit
, irb_exit
コマンドでirbを終了できます。
ちなみに、Windowsのコマンドプロンプトを利用している場合は、`Ctrl + C`でirbを終了できる場合があります。Mac/Linuxのターミナルや端末を利用している場合は`Control + D`でirbを終了させることができます。ただし文字入力中は`Control + D`が効かないため、その場合は一度`Control + C`を押下した後に`Control + D`を押下するとよいです。
複文の実行
複数の方法があります。
セミコロンで複数のステートメントを実行
セミコロン;
を用いることで、複数の処理をインラインで記述することが可能です。
irb(main):004:0> shop = 100; shop - 1
=> 99
括弧で複数の行を実行
括弧()
を用いることで複数の行を一度に実行することも可能です。
irb(main):005:0> (shop = 100 // 1行目
irb(main):006:1> shop - 1) // 2行目
=> 99
irbで複数のサブirbを立ち上げる
irb上でirb
コマンドを実行するとサブirbを起動することができます。メインのirbとは異なる名前空間で動作するためなにかと便利です。
サブirbの終了は通常のirb時と同様にquitコマンドで行えます。
Kumasan:~ shell$ irb // メインirb起動
irb(main):001:0> hello = "hello"
=> "hello"
irb(main):002:0> hello // ローカル変数参照可能
=> "hello"
irb(main):003:0> quit
Kumasan:~ shell$ irb // サブirb起動
irb(main):001:0> hello = "world"
=> "world"
irb(main):002:0> irb
irb#1(main):001:0> hello // サブ環境なのでメイン側のローカル変数参照できない
NameError: undefined local variable or method `hello' for main:Object
from (irb#1):1
irb#1(main):002:0> quit // サブirb終了
=> #<IRB::Irb: @context=#<IRB::Context:0x007fdfad8143d8>, @signal_status=:IN_EVAL, @scanner=#<RubyLex:0x007fdfac835840>>
irb(main):003:0> hello // メイン環境に戻ったので、ローカル変数参照可能
=> "world"
irb(main):004:0>