2

刚刚学习 Ruby,发现了一些奇怪的东西(至少对于 ansi-c 程序员来说)。

拥有 Mac OS X 10.6.2、ruby 1.8.7 (2008-08-11 patchlevel 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 ;))

4

2 回答 2

0

我无法复制这个问题。以下是我采取的步骤:

 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,红宝石 1.8.6。对不起,我只有这些。

于 2009-12-31T06:39:33.633 回答
0

Feed-normalizer 目前比您安装的版本高一个小版本。您显示 1.5.1。

gem 搜索 feed-normalizer -r

*** 远程宝石 ***

饲料标准化器(1.5.2)

所以它可能会在更新中修复。这是update log.

于 2010-11-12T20:18:17.697 回答