スクリプト中にpryのバインディングポイントを設定することで、
printfデバッグをせずとも変数の状態やらメソッド実行時の挙動やらを調べることができます
スクリプト中に記述
$ ruby test2.rb
From: /Users/shuzo_kino/test2.rb @ line 4 : 1: require 'pry-remote' 2: 3: a = 2 => 4: binding.pry 5: 6: [1] pry(main)>
あとは、通常のpry通りに使えます
[1] pry(main)> a => 2 [2] pry(main)> exit
リモートでやる
上記だけでも十五分に便利ですが…
なんと、リモート環境からバインディングする方法もあります。
$ gem install pry-remote
でgemを導入します。
バインディングポイントを設定して実際スクリプトを動かすと…
$ ruby test.rb [pry-remote] Waiting for client on druby://127.0.0.1:9876
と受信待機に。
他のコンソールからpry-remoteに接続すれば、drubyのサーバにアクセスできます。
$ pry-remote From: /Users/shuzo_kino/test.rb @ line 5 : 1: require 'pry-remote' 2: 3: a = 90 4: b = 9 => 5: binding.remote_pry 6: b = a + b 7: binding.remote_pry 8: [1] pry(main)>
あとの使い勝手は先ほどと同じ。
exitすると
[pry-remote] Remote session terminated [pry-remote] Ensure stop service