刚刚学习 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(这些不相关)?如何调试这种情况?这是典型的另一个类(class)打破其他类(class)吗?是否也重启了(嘿,这是 Mac ;))
最佳答案
我无法重现这个问题。以下是我采取的步骤:
sudo apt-get install crm114
sudo gem install crm114
sudo gem install feed-normalizer
一切正常。现在在注释掉 feed-normalizer 的情况下运行示例代码。
$ ruby crmdebug.rb
interesting
0.5
...并且未注释:
$ ruby crmdebug.rb
interesting
0.5
Ubuntu 2.6.24-26, ruby 1.8.6。抱歉,我只有这些。
关于Ruby,为什么 FeedNormalizer 的使用会破坏 Classifier::CRM114,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1982996/