Rubyをはじめることにした。Ruby自体は何年か前、大学の実験で、簡単な自然言語処理(N-gramやTF/IDF)を組んだことがあるけど、ほとんど忘れてしまった。
普段はJavaがメインだけど、テキスト処理などのためにスクリプト言語も抑えておきたいと思ったため。
Perlという選択肢もあって、Rubyとどちらにするか悩んでいる。Perlは歴史の長さからライブラリやら資料やらが豊富なのが魅力だが、どうにも好きになれない。「elsif」が好きになれない。というわけでRubyから始めることにする。
Hpricotのこと
Rubyという言語のことはまだよく分かっていないけども、練習としてhttpでwebページをダウンロードしてごにょごにょしようと思う。
参考にしたのはこのサイト。
Route 477 - RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize , HikiReload
環境はWindowsXPとcygwin。cygwinにはすでにRubyが入れてあったのでそのまま使う。
上記のサイトで紹介されているHpricotというライブラリを使ってみようと思う。そのためにはまずRubyGemsというのがいるらしい。Rubyのパッケージ管理ツール。こういうの、cygwinでも使えるのだろうか?
使えた。RubyGemsをzipで落としてきて、
ruby setup.rb
でcygwinでもインストールできた。動いてるからできたんだろう。
次にHpricotを落とす。しかし
gem install hpricot
でNot Foundになる。なぜだ。
gem install Hpricot
これで通った。大文字じゃないとだめなのね。
しかし問題が発生。hpricotのrequireでエラーになる。
>> require 'Hpricot' LoadError: No such file or directory - /usr/lib/ruby/gems/1.8/gems/hpricot-0.6-mswin32/lib/i686-linux/hpricot_scan.so from /usr/lib/ruby/gems/1.8/gems/hpricot-0.6-mswin32/lib/i686-linux/hpricot_scan.so from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require' from /usr/lib/ruby/gems/1.8/gems/hpricot-0.6-mswin32/lib/Hpricot.rb:20 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require' from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require' from (irb):3
hpricot_scan.soがありません。うそーん。あるし。ちゃんとそこにおいてあるよ! 結局原因分からず。どうせリンク抽出とかしかしないので正規表現でいいじゃんと思うことにした。
require 'rubygems'のこと
RubyGemsでgemってきたライブラリをrequireするときは、まず
require 'rubygems'
してからじゃないと使えないようだ。えーめんどくせー