binding.pry

binding.pry

  • サンプルコード
#binding.pry sample
require "pry"

class Foo
  def initialize
    @bar = "bar"
  end

  def bar
    binding.pry
    @bar
  end
end

puts "bar is " + Foo.new.bar

pryメソッド

  • Pryがrequireされると、Objectクラスに対してpryメソッドを追加する
  • pryメソッドはレシーバとなるオブジェクトのスコープでPryを起動する →この場合はFooクラスのスコープでpryを起動

    bindingメソッド

  • それが評価されたときのコンテキストを保持したBindingオブジェクトを返すメソッド →??????

  • Bindingオブジェクトに対してpryメソッドを呼び出すことで、任意のコンテキストの下でpryを起動することができる

show-source

  • メソッド、クラス、モジュールの定義をpry上で確認できる
  • 開発中のプログラムの任意の変数やメソッドが返す値がどうなるかを調べることができる

show-doc

edit

  • pryでエディタを起動し、エディタで保存した記述をpryで評価してくれる
  • 教科書のコード試すときに使えるのか
  • デフォルトのエディタは$EDITORに設定されている

.pryrc

  • pryの設定は.pryrcでできる
  • まずホームディレクトリの.pryrcを読み込み、続いてカレントディレクトリの.pryrcを読み込む