ホーム > Uncategorized > [スクレイピング][ubuntu 8.10]scrubyt!でNoMethodError: undefined method `each’ for nil:NilClassの対処 shared_utils.rb

[スクレイピング][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

にする。これで一応動くが・・・、こんな簡単なミスがどうして有り得るのか?

と疑問に思っていたら、こちらに修正が上がっていた。やっぱこれで対応がいいみたい。あー微妙にすっきり

広告
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。