0

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 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

(これは OS X 10.6.6 にインストールされているデフォルトの ruby​​ です)

4

1 に答える 1

0

申し訳ありませんが、ここに投稿する前にもっとよく調べるべきでした...

それを修正しました:

次のように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 によって明示的にロードされていません...

奇妙なことに、サンプルスクリプトもそれをロードしません...

于 2011-01-15T16:01:43.407 に答える