RubyのREPL環境と簡単な使い方【irbの最低限知っておきたい機能】

起動方法

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> 
広告