Rubyを学んだだけで、奇妙なことがわかりました(少なくとも、ansi-cプログラマーにとっては)。
Mac OS X 10.6.2、ruby 1.8.7(2008-08-11パッチレベル72)[universal-darwin10.0]、feed-normalizer 1.5.1、crm114 1.0.3
require 'rubygems'
require 'crm114'
require 'feed-normalizer'
#FeedNormalizer::FeedNormalizer.parse open("http://news.google.com/news?ned=us&topic=w&output=rss")
crm = Classifier::CRM114.new([:interesting, :boring])
crm.train! :interesting, 'Some data set with a decent signal to noise ratio.'
crm.train! :boring, 'Pig latin, as in lorem ipsum dolor sit amet.'
puts crm.classify 'Lorem ipsum'
上記のファイルの実行:
$ ruby crmdebug.rb
interesting
0.5
いいでしょう、これはただのデモです。
行のコメントを解除します#FeedNormalizer...
そしてコメントなしでファイルを実行します:
$ ruby crmdebug.rb
nil
0.0
?!ここで何が起こっているのですか?FeedNormalizerの使用がcrm114を壊すのはなぜですか(これらは関連していません)?この種の状況をデバッグする方法は?これは、他のクラスが他のクラスを壊すのが一般的ですか?再起動もしました(これはMacです;))