2010-03-14 13 views

Odpowiedz

17

Musisz upewnić się, że Ruby wie o module FileUtils. Że moduł nie jest ładowany domyślnie:

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

nie martw się zbytnio o błędzie NameError: uninitialized constant Text::FileUtils - podczas próby obejmują stałą że Ruby nie wiedzieć, że wygląda w kilku miejscach. W twoim przypadku najpierw będzie szukał Text::FileUtils, a następnie będzie szukał ::FileUtils w głównej przestrzeni nazw. Jeśli nie może go znaleźć w dowolnym miejscu (co w twoim przypadku nie może), to komunikat o błędzie wyświetli pierwsze miejsce, na które wygląda.

1

Czy próbowałeś?

class Text 
    include ::FileUtils 
end 

Zakłada się, że FileUtils nie znajduje się w module.

+0

Nie działa ... IRB (main): 004: 0> klasa test IRB (main): 005: 1> to :: fileutils IRB (main): 006: 1> końcowe NameError : niezainicjowana stała FileUtils \t od (irb): 5 –

1

To jest stary wątek, ale wciąż, jeśli jakieś uderzenia w tym wątku, aby znaleźć odpowiedź. One po prostu musi dodać poniżej linii na szczycie jego kod (lub gdziekolwiek poza klasy/metody/modułu)

require 'fileutils' 

tym w klasie nie działa, to może być wykorzystywane do pracy w starszych wersjach.

Powiązane problemy