[スクレイピング][ubuntu 8.10]scrubyt!でNoMethodError: undefined method `each’ for nil:NilClassの対処 shared_utils.rb
ubuntu 8.10にscrubyt!を導入し、yahooにアクセスするサンプルをキックしたところ下記の悲しいエラーが発生し萎える
/usr/lib/ruby/gems/1.8/gems/scrubyt-0.4.06/lib/scrubyt/utils/shared_utils.rb:43:in `traverse_for_match': undefined method `each' for nil:NilClass (NoMethodError)
問題のshared_utils.rbをみると、nilの場合が考慮されていない見たいなので、下記の
node.children.each { |child| traverse_for_m....
を単純にifで括る
if node.children
node.children.each { |child| traverse_for_m....
end
にする。これで一応動くが・・・、こんな簡単なミスがどうして有り得るのか?
と疑問に思っていたら、こちらに修正が上がっていた。やっぱこれで対応がいいみたい。あー微妙にすっきり
御言葉一覧