pryでデバッグできるようなので、早速試してみる。
ブレークポイントの設定
まず、lesson3.rb というRubyのファイルを用意し、コードを書く。
「require 'pry'」の記述と、ブレークを貼りたい部分に、「binding.pry」と書く。
require 'pry' # おまじない puts "ネコを数えるメソッド" def CountCats(array_num) num = 0 array_num.each{ |i| num = num + i binding.pry # ブレークポイント } puts "#{num} 匹" end array_cats_num = (1..10).to_a puts "引数:配列にはネコがいっぱい入っている: #{array_cats_num}" CountCats(array_cats_num) array_cats_num2 = [1000, 2000, 3000, 4000, 5000] puts "引数:もっといっぱい配列にネコを入れる: #{array_cats_num2}" CountCats(array_cats_num2)
ターミナルで、「ruby lesson3.rb」と書き、lesson3.rb を実行すると、ブレークポイントを貼ったところで止まる。
自動的にpryが立ち上がるので、値を見たい変数を入力してEnter。
numの値に1が入っていることが分かる。
eachなどのループ処理から抜けたい場合は、「exit」で1周分を抜けられる。
2回目のeachのループでnum=3になっていることが分かる。
pryでのデバッグを終了したい時は、「!!!」で終了できる。
ステップ実行
pryではステップ実行もできるようなので、やってみる。
Can't escape from eval with next というエラーになる。
調べてみると、pry-navをインストールすると、使えるようになるらしいので、やってみる。
gem install pry-nav を実行。
pry-nav だけインストールしてもダメだったので、pry-byebugもインストール。
(pry-byebugはRubyのデバッガらしいので、そりゃ、これがインストールされてなきゃダメだw)
gem install pry-byebug を実行。
これで、ステップ実行ができるようになった。(歓喜!)
nextは次の行へ、stepは関数の中まで入る。