【问题标题】:Ruby, why FeedNormalizer usage breaks Classifier::CRM114Ruby,为什么 FeedNormalizer 的使用会破坏 Classifier::CRM114
【发布时间】:2010-12-31 06:41:27
【问题描述】:

刚刚学习 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 ;))

【问题讨论】:

    标签: ruby classification feedparser


    【解决方案1】:

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

     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。抱歉,仅此而已。

    【讨论】:

      【解决方案2】:

      Feed-normalizer 目前比您安装的版本略高。你显示 1.5.1。

      gem 搜索 feed-normalizer -r *** 远程宝石 *** 饲料标准化器(1.5.2)

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

      【讨论】:

        猜你喜欢
        • 2012-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多