Ist alles ein Objekt in Ruby?

7

Ist alles in Ruby ein Objekt? Umfasst dies Fixnum s?

    
Andrew Grimm 07.08.2010, 07:25
quelle

6 Antworten

34

Hängt davon ab, was du mit "alles" meinst. Fixnum s sind, wie die anderen gezeigt haben. Klassen sind auch Instanzen der Klasse Class . Methoden, Operatoren und Blöcke sind nicht, können aber von Objekten umschlossen werden ( Proc ). Einfache Zuweisung ist nicht und kann nicht. Aussagen wie while sind auch nicht und können nicht. Kommentare fallen offensichtlich auch in die letztere Gruppe.

Die meisten Dinge, die eigentlich wichtig sind , d. h. dass Sie manipulieren möchten, sind Objekte (oder können in Objekte eingeschlossen werden).

    
Amadan 07.08.2010, 09:24
quelle
4

Ja. Fixnum ist eine Klasse, die von Integer erbt, die von Numeric erbt, die schließlich von Object erbt.

Oder, warum fragst du es nicht einfach? :)

%Vor%

Lesen Sie die Ruby-Informationen und Dokumentation auf der Website ist auch eine gute Idee.

    
jtbandes 07.08.2010 07:29
quelle
4

Praktisch alles in Ruby ist ein Objekt, mit Ausnahme von Kontrollstrukturen. Ob eine Methode, ein Codeblock oder ein Operator unter dem Deckmantel ein Objekt ist oder nicht, sie werden als Objekte dargestellt und können als solche betrachtet werden.

Nehmen Sie einen Codeblock zum Beispiel:

%Vor%

Oder für eine Methode:

%Vor%

Und Operatoren (wie +, -, [], & lt; & lt;) sind als Methoden implementiert:

%Vor%

Für Leute, die zum ersten Mal in die Programmierung kommen, bedeutet das im praktischen Sinne, dass alle Regeln, die Sie auf eine Art von Objekt anwenden können, auch auf andere angewendet werden können. Sie können sich einen String, ein Array, eine Klasse, eine Datei oder eine andere Klasse vorstellen, die Sie sich ähnlich verhalten. Dies ist einer der Gründe, warum Ruby einfacher zu erlernen und zu bearbeiten ist als andere Sprachen.

    
Dan Garland 04.05.2014 14:52
quelle
2

Ruby hat keine Primitiven (wie int, char usw. in Java), daher ist jeder Wert (alles, was rechts von einer Zuweisungsanweisung stehen kann) ein Objekt. Steueranweisungen, Methoden und andere Features der Sprachsyntax sind jedoch nicht.

    
mistertim 07.08.2010 10:43
quelle
1

Ja.

%Vor%

Um die Vererbungskette zu sehen:

%Vor%     
Dex 07.08.2010 07:28
quelle
0
Alan 07.08.2010 07:28
quelle

Tags und Links