🙌
Rubyのbinding.irbについて
binding.irbとは?
binding irb
とは、Rubyをコマンドプロンプト上で対話的に実行できるirb
コマンドを、プログラムの処理中に実行できるコマンドです。
binding.irbを使う意義
binding.irb
は、ソースコード上に記述できるため、例えばいくつかの処理の間に設置して、途中の数値を確認したり、変数の値を変更して表示することができます。
記述例
x = 20
y = 40
z = 100
sum = x + y + z
sum = sum ** 4
sum = sum - 200
sum = sum / 4
p sum
上記のような処理があるとします。
そのまま処理すると、163839950
が出力されました。
この処理の、sum ** 4
の直後のsum
の数値を知りたいときは、
x = 20
y = 40
z = 100
sum = x + y + z
sum = sum ** 4
binding.irb
sum = sum - 200
sum = sum / 4
p sum
このように記述します。その後、コマンドを実行すると、
2: y = 40
3: z = 100
4:
5: sum = x + y + z
6: sum = sum ** 4
=> 7: binding.irb
8: sum = sum - 200
9: sum = sum / 4
10: p sum
コンソール上では、このような表記になります。
コマンドプロンプトがirbの表示になっていますので、ここでp sum
でsum
を表示してみると、
irb(main):001:0> p sum
655360000
=> 655360000
この時点でのsum
は65536000
ということですね。
この後は、exit
を入力するとその後の処理が実行されます。
または、新たにsum
にRubyの処理を追加して、その後の処理を実行することもできます。
-
sum
から700を引いてみた
irb(main):002:0> sum = sum - 700
=> 655359300
irb(main):003:0> exit
163839775
最後の数値が変化している。
いつ使えばいいの?
主に、デバッグ用として使われます。
長いコードの途中に、binding.irbを挟むことで、その時点での変数の値が確認できますね。
私はまだこれを使うほど長いコードを書いたことがありませんが、今後使うことになると思うので、しっかり使いこなせるようにしておきたいです。
Discussion