人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Ruby で mechanize を使おうとするのですが、下記のようなエラーがでます。
症状としては、http://agora.scrubyt.org/forums/3/topics/186
に近いです。

解決策がすぐにピンときた人に回答お願いします。


/usr/lib/site_ruby/1.8/mechanize/inspect.rb:44: undefined method `pretty_inspect' for class `WWW::Mechanize::Page' (NameError)
from /usr/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/lib/site_ruby/1.8/mechanize.rb:42
from /usr/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from t.rb:2


●質問者: isogaya
●カテゴリ:コンピュータ インターネット
✍キーワード: Class LIB require Ruby RubyGems
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● いわどん
●27ポイント

mechanizeをrequireしている行の前後に

require 'pp'

を追加してはいかがでしょうか。

Object#pretty_inspectは上記 pp ライブラリが追加するメソッドのはずです。

instance method Object#pretty_inspect

◎質問者からの返答

ありがとうございます。でも、だめです。

下記のようにいれてみました。

require 'pp'

require 'rubygems'

require 'mechanize'


2 ● hayashi6
●27ポイント

http://www.ruby-lang.org/ja/


3 ● moro
●26ポイント

http://blog.tomonrails.com/blog/show/9

似た例としてあげられているページですが、そちらで触れているscrubytは内部でmechanizeを使ってますので、症状としてはまったく同じと考えていいかと思います。

ということで対処としては

Then you'll need to open inspect.rb and comment out lines 43-45 and 55-57.

mechanize-0.6.10/lib/mechanize/inspect.rb の43-45行目と55-57行目をコメントアウトしてはいかがでしょうか。

名前から推察するに、inspectで多量の情報(HTMLをまるっと取り込んだ上、パース結果を保持したりする)が表示されてしまうのを整理/整形するためのメソッドだと思われますので、動作はしてもデバッグがやや大変になるかとは思います。ただ、動作には影響ないと思いますので試してみる価値はあるんじゃないでしょうか。

(たぶん)遠からずバグ修正されるでしょうから、そちらもチェックしてみるのもいいかと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ