【问题标题】:Why doesn't this code using the ruby-mbox gem parse mbox files?为什么这段代码不使用 ruby​​-mbox gem 解析 mbox 文件?
【发布时间】:2011-03-10 16:12:16
【问题描述】:

我通过 gem install ruby​​-mbox

安装了 ruby​​-mbox

运行这个:

#!/usr/bin/ruby
require 'rubygems'
require 'mbox'
m = IO.read('test.eml')
puts m.size
m = Mbox.new(m)
puts m

产生这个异常(在第 7 行):

/Library/Ruby/Gems/1.8/gems/ruby-mbox-0.0.2/lib/mbox/mbox.rb:45:in `initialize': 未初始化常量 Mbox::StringIO (NameError)

我已经证明,在调用 Mbox.new(m) 之前,“m”被分配了一个包含文件内容的字符串。

看起来 Mbox::StringIO 应该由尚未定义。

这里出了什么问题?

Ruby 版本:

ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

(这是 OS X 10.6.6 上安装的默认 ruby​​)

【问题讨论】:

    标签: ruby email rubygems mbox


    【解决方案1】:

    对不起,我应该在发帖之前仔细看看......

    已修复:

    只需插入 require 'stringio' 行即可:

    #!/usr/bin/ruby
    require 'rubygems'
    require 'stringio'
    require 'mbox'
    m = IO.read('test.eml')
    puts m.size
    m = Mbox.new(m)
    puts m
    

    似乎假定已加载 stringio - 但 ruby​​-mbox 并未显式加载...

    奇怪的是,示例脚本也不加载它...

    【讨论】:

      猜你喜欢
      • 2013-11-17
      • 2020-11-14
      • 2011-08-28
      • 2015-01-27
      • 2022-06-13
      • 2018-02-01
      • 2015-03-21
      • 2012-01-31
      • 2021-04-29
      相关资源
      最近更新 更多