¿Por qué no el código usando los archivos de la gema de análisis mbox mbox rubí?

StackOverflow https://stackoverflow.com/questions/4700494

  •  11-10-2019
  •  | 
  •  

Pregunta

He instalado rubí mbox haciendo joya instalar ruby-mbox

Al ejecutar este:

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

produce esta excepción (en la línea 7):

/Library/Ruby/Gems/1.8/gems/ruby-mbox-0.0.2/lib/mbox/mbox.rb:45:in `initialize ': constante sin inicializar Mbox :: StringIO (NameError)

He demostrado que "m" se asigna una cadena que contiene el contenido del archivo, justo antes de Mbox.new (m) se llama.

Parece como si el Mbox :: StringIO debería haber sido definida por no lo ha sido.

¿Qué va mal aquí?

versión de Ruby:

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

(Eso es el rubí instalado por defecto en OS X 10.6.6)

¿Fue útil?

Solución

personas tristes, que debería haber estudiado más duro antes de publicar aquí ...

Fijo que:

Simplemente inserta la línea require 'StringIO' para dar a este:

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

Parece que se supone StringIO para ser cargado - pero no se carga explícitamente por el rubí-mbox ...

Curiosamente, los scripts de ejemplo no cargan tampoco ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top