はじめに
Rubyの学習を進めている中で
binding.pry
というコードを見かけたことがありました。
私は最初、
これって何のために書いているんだろう?
と思いました。
調べてみると、pryはRubyのデバッグや動作確認に役立つ便利なツールでした。
今回は、pryとは何か、インストール時に表示されたログの意味、簡単な使い方についてまとめます。
※Windows上のRuby環境でのお話
pryとは?
pryは、
Rubyのプログラムを途中で止めて中身を確認できるツール
です。
エラー調査や動作確認の際によく利用されます。
pryをインストールする
インストールは次のコマンドで行います。
gem install pry
実行すると次のようなログが表示されます。
Successfully installed pry-0.16.0
Successfully installed reline-0.6.3
Successfully installed method_source-1.1.0
Successfully installed coderay-1.1.3
インストールログを見てみる
Successfully installed
Successfully installed pry-0.16.0
これは
pryのインストールが成功しました
という意味です。
一緒にインストールされたgemについて
reline
method_source
coderay
これらはpryが動作するために必要なライブラリです。
自分で個別にインストールしたわけではなく、pryのインストール時に自動で追加されました。
ドキュメントのインストール
Installing ri documentation
これはRubyのドキュメントをローカル環境へ保存している処理です。
特にエラーではないので気にしなくて大丈夫です。
警告メッセージ
invalid options: -SNw2
(invalid options are ignored)
このメッセージを見ると少し不安になりますが、
Successfully installed pry
と表示されていれば基本的には問題ありません。
今回の場合はインストール自体は正常に完了しています。
pryを使ってみる
簡単なサンプルを見てみます。
require "pry"
x = 10
binding.pry
y = x + 5
puts y
実行すると、
[1] pry(main)>
のような画面で処理が止まります。
プログラムの途中で値を確認できる
処理が止まった状態で、
x
と入力すると、
10
が表示されます。
つまり、
今この時点でxには何が入っているの?
を確認できます。
デバッグで非常に便利な機能です。
なぜ便利なのか
例えば、
total = price * quantity
の結果が想定と違った場合、
binding.pry
を置けば、
price
quantity
をその場で確認できます。
そのため、
どの変数がおかしいのか
を見つけやすくなります。
Docker環境では注意
今回インストールしたpryは、
Windows上のRuby環境
にインストールされています。
もしDockerを利用している場合は、
Dockerコンテナ内のRuby
とは別環境になります。
そのためDocker環境で使う場合は、
gem "pry"
をGemfileへ追加するなど、コンテナ側にもインストールが必要になります。
まとめ
今回学んだことをまとめます。
- pryはRubyのデバッグを支援するツール
-
binding.pryを書くと、その場所で処理を停止できる - 停止中に変数の値を確認できる
- エラー調査や動作確認でよく利用される
-
gem install pryを実行すると必要なライブラリも一緒にインストールされる - Docker環境では別途インストールが必要な場合がある
Rubyを学習し始めた頃は、コードが期待通りに動かないと原因を見つけるだけでも大変です。
そんなときにpryを使うと、
今この変数には何が入っているのか?
を簡単に確認できるため、デバッグがしやすくなります。
今後Rubyを書いていく中で積極的に活用していきたいと思います。
