2017-11-25 7 views
0

次の関数のブレークポイントでPryがREPLに落ちないようにします。pryがブレークポイントでREPLにドロップしない

def print_lines(data) 
    puts "here's the input I got:" 

    data.each_with_index do |line, index| 
    url_regex = /(?:<a href=")(https?:\/{2}www.\w+[.](com|org|net)((\/\w+)*([.]\w+)?))(?:">)/ 

    binding.pry 

    url = line.scan(url_regex)[0] 

    puts "Line #{index}: #{url}" 

    end 

end 

代わりに、次の出力を生成する:

From: /Users/hsb/work/hr-solutions/detect-html-links/lib/script.rb @ line 13 Object#print_lines: 

4: def print_lines(data) 
... 
=> 13:  url = line.scan(url_regex)[0] 
... 
19: end 
(END) 

Iはqを入力すると、ループの残りの各反復について同じ出力を表示てこ。スコープ内の変数を調べるためにREPLにアクセスできない理由は何ですか?

+0

私はSTDINを使ってデータを読み込んでいました。 pryとSTDINに何らかの問題があるようです。ここをクリックhttps://stackoverflow.com/questions/32333962/pry-not-stopping-when-called-from-a-ruby-script-that-reads-from-stdin – Hayden

答えて

0

STDINのこの問題はよく書かれています。このソリューションは私のために働いた:http://rocket-science.ru/hacking/2015/09/02/pry-and-stdin

+1

これは、 "詮索の問題"についてではなく、これは標準入力が対話型操作に使用できるものではないことを理解するのに十分なほどスマートです。 – mudasobwa

関連する問題