Ruby - pry-byebug デバッガ - 実行してみる
1. ソースへの書き込み デバッガを起動するにはソースへの書き込みが必要になるらしい・・・。 えぇぇ? それって、「Visual Studio」の「VC」で「DebugBreak();」を使うようなもん? まぁスレッド実行のような、実行時にポイントの箇所で止めることができないものには便利な機能ですが、いちいちソースに書いたりコメントアウトするのはなんて原始的な・・・。 いきなり起動するのはどうなのかしらん。 とりあえず #!/usr/bin/env ruby require('open-uri') require('nokogiri') charset = nil html = open(ARGV[0]) do | f | charset = f.charset # 文字種別を取得 f.read # htmlを読み込んで変数htmlに渡す end doc = Nokogiri::HTML.parse(html, nil, charset) # htmlをパース(解析)してオブジェクトを生成 puts("doc.title") # タイトルを表示 てなソースを実行すると > ./ソースファイル名.rb http://freebsd.sing.ne.jp/lang/ruby/04/02.html ruby - a?|a?§a??a?1a? ̄a?¬a??a??a?3a?° - open-uri てな感じなので、実際 puts で出力されているのかを確認したくて、ソースを修正 #!/usr/bin/env ruby require('pry') ← この行を追加 require('open-uri') require('nokogiri') binding.pry ← この行を追加 charset = nil html = open(ARGV[0]) do | f | charset = f.charset # 文字種別を取得 f.read # htmlを読み込んで変数htmlに渡す end doc = Nokogiri::HTML.parse(html, nil, charset) # htmlをパース(解析)してオブジェクトを生成 puts("doc.title") # タイトルを表示 3、7行を追加しておるわけですが、これで実行すると 7行でデバッガが起動します。 2. コマンド 主なコマンドは
#!/usr/bin/env ruby require('open-uri') require('nokogiri') charset = nil html = open(ARGV[0]) do | f | charset = f.charset # 文字種別を取得 f.read # htmlを読み込んで変数htmlに渡す end doc = Nokogiri::HTML.parse(html, nil, charset) # htmlをパース(解析)してオブジェクトを生成 puts("doc.title") # タイトルを表示
> ./ソースファイル名.rb http://freebsd.sing.ne.jp/lang/ruby/04/02.html ruby - a?|a?§a??a?1a? ̄a?¬a??a??a?3a?° - open-uri
#!/usr/bin/env ruby require('pry') ← この行を追加 require('open-uri') require('nokogiri') binding.pry ← この行を追加 charset = nil html = open(ARGV[0]) do | f | charset = f.charset # 文字種別を取得 f.read # htmlを読み込んで変数htmlに渡す end doc = Nokogiri::HTML.parse(html, nil, charset) # htmlをパース(解析)してオブジェクトを生成 puts("doc.title") # タイトルを表示
省略形が効かないらしいのがちょっとつらいところ。