Wenn 'main' eine Instanz von 'Object' ist, warum kann ich sie nicht aufrufen?

7

Wenn ich self eintippe, bekomme ich einen Rückgabewert main . Ich habe diesen Test gemacht:

%Vor%

Dann kann ich main2 aufrufen und es gibt etwas zurück, aber wenn ich main aufruft, wird ein undefinierter Variablenfehler ausgelöst. Wie passiert das?

Hier ist die Annahme, die ich auf einer anderen Seite über die Funktionsweise dieser Top-Level-Umgebung gefunden habe:

%Vor%

Es macht Sinn für mich.

    
mko 10.07.2011, 04:20
quelle

3 Antworten

14

" Was ist der Ruby Top-Level? > "ist ein Artikel auf der oberen Ruby-Ebene, der alles erklärt, was Sie wissen müssen.

Abgesehen davon können Sie% code% überall in Ihrem Programm aufrufen, indem Sie main verwenden.

    
horseyguy 10.07.2011, 04:41
quelle
4

Die Auswertung des Ausdrucks self in irb gibt ein Objekt zurück, das als druckt. Hier ist eine Abschrift, die helfen sollte:

%Vor%

Wenn Sie main in irb eingeben, versucht es, die Variable main auszuwerten, die nicht deklariert ist.

    
Ray Toal 10.07.2011 04:35
quelle
1

Sie können nicht direkt auf das main -Objekt mit etwas wie

verweisen %Vor%

Es ist nicht möglich, sich auf seinen "Namen" zu beziehen. Sie können es jedoch in einer Variablen namens main wie folgt erfassen

%Vor%

" Top-Level-Objekt? Top-Level-Methoden? " ist nützliche Hintergrundinformationen über das Hauptobjekt von Ruby's Erfinder selbst.

    
emboss 10.07.2011 04:34
quelle

Tags und Links