Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | 強化版irbことpryについて

概要

強化版irbことpryについて

詳細

pry(プライ)とはRubyに標準付属している対話型インターフェースirbの強化版とも言えるものです。
・キーハイライト
・シェルとの統合機能
・自動インデント機能
などがあります。

gem install pry pry-doc

コマンドサンプル

[42] pry(main)> puts "hoge" => puts の実行
hoge
=> nil
[43] pry(main)> class Hoge => class定義。自動でインデントされる
[43] pry(main)*   def hoge
[43] pry(main)*     "hoge"
[43] pry(main)*   end  
[43] pry(main)* end  
=> nil
[44] pry(main)> cd Hoge => cdでクラスやオブジェクトの内部に入れる
[45] pry(Hoge):1> ls => オブジェクトの中からlsで内部を一覧表示
Hoge#methods: hage  hoge
locals: _  __  _dir_  _ex_  _file_  _in_  _out_  _pry_
[46] pry(Hoge):1> show-method Hoge#hoge => hogeメソッドのソースを表示

From: (pry) @ line 28:
Owner: Hoge
Visibility: public
Number of lines: 3

def hoge
  "hoge"
end
[47] pry(Hoge):1> show-method String#upcase => pry-docプラグインによりStringクラスのupcaseメソッド(C実装)のソースを表示。

From: string.c (C Method):
Owner: String
Visibility: public
Number of lines: 7

static VALUE
rb_str_upcase(VALUE str)
{
    str = rb_str_dup(str);
    rb_str_upcase_bang(str);
    return str;
}