2010-03-14 15 views

Respuesta

17

Debe asegurarse de que Ruby sepa sobre el módulo FileUtils. Ese módulo no se carga por defecto:

>> FileUtils 
NameError: uninitialized constant FileUtils 
    from (irb):1 
>> require 'fileutils' 
=> true 
>> FileUtils 
=> FileUtils 

No se preocupe demasiado por el error NameError: uninitialized constant Text::FileUtils - cuando intenta incluir una constante que Ruby no sabe nada, se ve en algunos lugares. En su caso, primero buscará Text::FileUtils y luego buscará ::FileUtils en el espacio de nombres raíz. Si no puede encontrarlo en ningún lugar (que en su caso no podría), el mensaje de error le indicará el primer lugar en el que se veía.

1

¿Lo intentó?

class Text 
    include ::FileUtils 
end 

Esto supone que FileUtils no está dentro de un módulo.

+0

No funciona ... IRB (principal): 004: 0> clase Test IRB (principal): 005: 1> incluye :: FileUtils IRB (principal): 006: 1> acabar NameError : constante no inicializada FileUtils \t de (irb): 5 –

1

Este es un hilo viejo, pero aún así, si hay golpes en este hilo para encontrar una respuesta. Uno sólo tiene que añadir debajo de la línea en la parte superior de su código (o en cualquier lugar fuera de la clase/método/módulo)

require 'fileutils' 

Incluir en la clase no hace obras, que puede ser utilizado para trabajar en las versiones anteriores.

Cuestiones relacionadas