Ruby Mixin gibt einen nicht identifizierten konstanten Fehler

8

In irb mache ich das

%Vor%

Ich bekomme: NameError: nicht initialisierte Konstante Test :: FileUtils

Wenn ich nur: FileUtils (d. h. jetzt Klasse) alles funktioniert.

Was gibt's?

    
Bilal and Olga 14.03.2010, 00:54
quelle

3 Antworten

17

Sie müssen sicherstellen, dass Ruby das FileUtils-Modul kennt. Dieses Modul wird nicht standardmäßig geladen:

%Vor%

Sorgen Sie sich nicht zu sehr um den Fehler NameError: uninitialized constant Text::FileUtils - wenn Sie versuchen, eine Konstante einzubauen, von der Ruby nichts weiß, sieht sie an einigen Stellen nach. In Ihrem Fall wird zuerst nach Text::FileUtils gesucht und dann nach ::FileUtils im Root-Namensraum gesucht. Wenn es nirgends gefunden werden kann (was in Ihrem Fall nicht möglich ist), wird Ihnen die Fehlermeldung den ersten Ort anzeigen, an dem es aussah.

    
Gareth 14.03.2010, 01:30
quelle
1

Hast du es versucht?

%Vor%

Dies setzt voraus, dass sich FileUtils nicht in einem Modul befindet.

    
Randy Simon 14.03.2010 00:57
quelle
1

Dies ist ein alter thread, aber immer noch wenn bumps in diesem Thread eine Antwort findet. Man muss nur unterhalb der Zeile über seinem Code (oder irgendwo außerhalb der Klasse / Methode / Modul)

hinzufügen %Vor%

Das Einbinden in die Klasse funktioniert nicht, möglicherweise wird es in älteren Versionen verwendet.

    
vikas027 12.01.2015 13:05
quelle

Tags und Links