2016-10-21 6 views
0

私は "j doe"(元の質問はここにあります:How to step through a loop with pry and view the value of an iterator?)とまったく同じ質問をしていますが、質問は本当に答えられませんでした。私は実際にの人々に、デバッグのためにPryを使用してに質問して、ループに入り、ループが発生したときに式を評価する方法を説明します。PRYでループをステップ実行し、ターミナルセッションでイテレータの値を表示する方法はありますか?

私はマニュアルを読んだり、端末でヘルプファイルを確認したり、YouTubesを見ましたが、悲しいことに私はそれを手に入れません。私は偶然に "ループに入る"ことができたことが何回かありました。 私が持っているもの:

  • 私は、単一のルビーファイルを使用して、私のシステムで
  • 私が以前にインストールされている宝石byebug (8.2.1, 3.5.1, 3.4.0)を。 pry (0.10.3, 0.10.1)およびpry-rails (0.3.4, 0.3.2)
  • スクリプトの先頭にrequire 'pry'があります。
  • 私は、binding.pryを使用してブレークポイントを設定しています。

これは、私が付属の質問の例を使用してTerminalで行ったことです。私はこれまでのところ、私の次のステップは何ですか?どのように私は実際にループをステップして、私が見ている変数の値を参照して移動するには?

Last login: Thu Oct 20 18:21:07 on ttys000 
INB:~ LearnEnough$ pry 
[1] pry(main)> def longest_palindrome s 
[1] pry(main)* max_palindrome_len = 0 
[1] pry(main)* for i in (0..s.length) 
[1] pry(main)*  binding.pry 
[1] pry(main)*  for j in (i..s.length) 
[1] pry(main)*  binding.pry 
[1] pry(main)*  substr = s[i..j] 
[1] pry(main)*  if substr == substr.reverse && substr.length >  max_palindrome_len 

[1] pry(main)*   max_palindrome_len = substr.length 
[1] pry(main)*  end 
[1] pry(main)*  end 
[1] pry(main)* end 
[1] pry(main)* return max_palindrome_len 
[1] pry(main)* end 
=> :longest_palindrome 
[2] pry(main)> longest_palindrome "racer" 

From: (pry) @ line 4 Object#longest_palindrome: 

    1: def longest_palindrome s 
    2: max_palindrome_len = 0 
    3: for i in (0..s.length) 
=> 4:  binding.pry 
    5:  for j in (i..s.length) 
    6:  binding.pry 
    7:  substr = s[i..j] 
    8:  if substr == substr.reverse && substr.length > max_palindrome_len 
    9:   max_palindrome_len = substr.length 
    10:  end 
    11:  end 
    12: end 
    13: return max_palindrome_len 
    14: end 

[1] pry(main)> watch i 
Watching i 
watch: i => 0 
[2] pry(main)> watch j 
Watching j 
watch: j => nil 
[3] pry(main)> 

答えて

0

pry-debuggerpry-navは現在、Rubyでサポートされていない、あなたは、このアクションを実行するためにそれらを必要とします。これにはpry-byebugを使用する必要があります。ここで

はループに梃子の使用方法についての非常に短いと便利なビデオです:

https://youtu.be/dbllOus430c

関連する問題