2010-03-14 12 views

risposta

17

È necessario assicurarsi che Ruby sia al corrente del modulo FileUtils. Questo modulo non viene caricato di default:

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

Non preoccuparti troppo sull'errore NameError: uninitialized constant Text::FileUtils - quando si tenta di includere una costante che Ruby non sa nulla, sembra in alcuni posti. Nel tuo caso, prima cercherà Text::FileUtils e quindi cercherà ::FileUtils nello spazio dei nomi radice. Se non riesce a trovarlo da nessuna parte (cosa che nel tuo caso non è possibile), il messaggio di errore ti dirà il primo posto che ha guardato.

1

Hai provato?

class Text 
    include ::FileUtils 
end 

Ciò presuppone che FileUtils non sia all'interno di un modulo.

+0

Non funziona ... IRB (principale): 004: 0> classe Test IRB (principale): 005: 1> includono :: fileutils IRB (principale): 006: 1> finali NameError : costante non inizializzata FileUtils \t da (irb): 5 –

1

Questo è un thread vecchio, ma ancora se qualche dosso su questo thread trova una risposta. Uno ha bisogno solo di aggiungere sotto la linea sulla parte superiore del suo codice (o in qualsiasi al di fuori del/metodo/modulo di classe)

require 'fileutils' 

Compresi nella classe non lo fa opere, può essere che lavorava in versioni precedenti.