Ruby の pry が便利だったメモ

Ruby についてあれこれ調べてるときに「pry が便利だからとりあえず入れておこうね~」みたいな記事をちらほら見かけたので使ってみました。

pry とは

pry はざっくり言うと「強化版 irb」で、irb と同様 REPL 環境を提供してくれます。
irb に比べてコマンドによる機能が充実していて、さらに色付けによって可読性も上がっています。

pry のインストール

インストールは gem から行います。

$ gem install pry pry-doc

環境によっては Devkit が必要なので、エラーが表示されたら別途 Devkit をインストールしてから再度実行します。

Devkitのインストールについては、こちらのページに記載されている通りに実行すればOKです。www.rubylife.jp


pry で起動します。

$ pry

pry を使ってみる

まずは irb のように使ってみます。

http://puu.sh/ikykI/78a5ca43ed.png

デフォルトで色分けがされていて、非常に見やすくなっています。
設定ファイルから、色をカスタマイズすることも可能です。
メソッドを書くと自動でインデントされているのもいいですね。


Tabキーでコード補完ができます。
候補が複数ある場合は一覧が表示されます。

http://puu.sh/ikAIv/918b6f552d.png

組み込みコマンド

pry には組み込みコマンドが用意されています。helpコマンドで一覧が表示されますが、よく使うものをまとめておきます。

hist

pry コンソールで評価した式の一覧を表示します。

http://puu.sh/ikCrc/ebee38d7a1.png


ls

カレントコンテキストに定義されているメソッドや変数の一覧を表示します。
後述する cd コマンドとセットでよく使います。

cd

カレントコンテキストを指定したオブジェクトに移動します。

http://puu.sh/ikBe0/0775f6ba4b.png

lsと組み合わせることで、オブジェクトの状態や挙動を調査することが出来ます。

find-method

指定したメソッドを検索します。
一致したメソッドがクラスと一緒に一覧で表示されます。

http://puu.sh/ikCsT/08f723d5f3.png


show-doc

指定したメソッドなどの挙動を調べることが出来ます。
説明(英語)やサンプルコードも見れるので便利です。

http://puu.sh/ikBYe/2f07eeeb95.png

まとめ

まだ pry を使い始めたばかりですが、これだけでも十分作業効率が上がりました。

Rubyメソッドや仕様を把握しきれてない僕には show-doc コマンドがとにかく便利で、分からないことがあったらとりあえず調べるようなりました。ブラウザに切り替えて検索して・・・に比べるととにかく楽です。

これらの機能は pry のごく一部なので、より使いこなすには wiki を参照とのことです。github.com