Почему этот код не использует файлы mbox для разбора gem-файла ruby-mbox? - PullRequest
0 голосов
/ 15 января 2011

Я установил ruby-mbox, выполнив gem install ruby-mbox

Выполнение этого:

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

создает это исключение (в строке 7):

/ Библиотека / Ruby / Gems / 1.8 / gems / ruby-mbox-0.0.2 / lib / mbox / mbox.rb: 45: в `initialize ': неинициализированная константа Mbox :: StringIO (NameError)

Я доказал, что «m» назначается строка, содержащая содержимое файла, непосредственно перед вызовом Mbox.new (m).

Выглядит так, как будто Mbox :: StringIO должен был быть определен как не было.

Что здесь не так?

Версия Ruby:

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

(это рубин по умолчанию, установленный в OS X 10.6.6)

1 Ответ

0 голосов
/ 15 января 2011

Извините, люди, я должен был выглядеть более пристально, прежде чем публиковать здесь ...

Исправлено:

Просто вставил строку , требуется '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 ...

Как ни странно, примеры сценариев также не загружают его...

...