Почему этот код не использует файлы Ruby-Mbox Gem Parse Mbox?
Вопрос
Я установил Ruby-Mbox, сделав GEM Установите 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 `initiaze ': невидимый постоянный mbox :: stringeror (nameerror)
Я доказал, что «M» назначается строку, содержащую содержимое файла, непосредственно перед вызовом mbox.new (m).
Это выглядит так, как будто Mbox :: stringio Должен был быть определен, не был.
Что здесь идет не так?
Рубинская версия:
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
(Это по умолчанию Ruby, установленная на OS X 10.6.6)
Решение
Извините, люди, я должен был выглядеть усерднее, прежде чем публиковать здесь ...
Починил это:
Просто вставьте линию требуется '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 ...
Как ни странно, пример сценарии тоже не загружают ...