Pourquoi pas ce code en utilisant la pierre précieuse rubis mbox analyse des fichiers mbox?

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

  •  11-10-2019
  •  | 
  •  

Question

J'ai installé rubis Mbox en faisant gem install rubis mbox

L'exécution de cette:

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

produit cette exception (ligne 7):

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

Je l'ai prouvé que « m » est attribué une chaîne contenant le contenu du fichier, juste avant Mbox.new (m) est appelé.

Il semble que le Mbox :: StringIO aurait dû être défini par n'a pas été.

Qu'est-ce qui ne va pas ici?

Version Ruby:

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

(C'est le rubis par défaut installé sur OS X 10.6.6)

Était-ce utile?

La solution

personnes Désolé, j'aurais regardé plus dur avant de poster ici ...

fixe il:

Juste insérer la ligne require 'StringIO' pour donner ceci:

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

On dirait que StringIO est supposé être chargé - mais n'est pas explicitement chargé par Ruby-mbox ...

Bizarrement, les exemples de scripts ne se chargent pas non plus ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top