19. Mai 2007 in Ruby » Grundlagen
Variablen, Ihre Namenskonventionen und Gültigkeitsbereiche in Ruby
Was sind Variablen?
Variablen können in der Programmierung - wie in der Mathematik - als Platzhalter angesehen werden. Technisch gesehen sind sie Speicherbelegungen für Werte. Sie enthalten also Werte aller Art (Datentypen) und können innerhalb Ihres Gültigkeitsbereichs eingesehen, überschrieben und bearbeitet werden. Folgende Datentypen könnten in Variablen enthalten sein:
- ganze Zahlen: Integer, Word, Unsigned Integer
- Dezimalzahlen: Double, Float
- Buchstaben: char
- Zeichenketten: String
Lokale Variablen
Lokale Variablen gelten nur in Programmabschnitten (nicht nur in Ruby), beispielsweise in Methoden. Sie verlieren ihre Gültigkeit ausserhalb dieses Programmabschnitts, d.h. Variablennamen können in verschiedenen Abschnitten gleich lauten, ohne das etwas durcheinander gerät.
Lokale Variablen beginnen laut Rubys Namenskonvetion immer mit kleinem Buchstaben oder einem Unterstrich.
Beispiele für lokale Variablen(namen) in Ruby:
- variable
- var_23
- _2
- nocheineVariable
Gobale Variablen
Globale Variablen gelten im gesamten Programm, sind also auch in Klassen und Methoden sichtbar. Das ist zwar bequem, kann aber auch zu Verlust von Werten führen, falls man unmutwillig eine Zuweisung tätigt.
Globale Variablen beginnen immer mit einem Dollar-Zeichen »$«, worauf Groß-/Kleinbuchstaben oder Zahlen folgen können.
- $globvar
- $_
- $BRAUCH_ICH_UEBERALL
- $_33
Instanz-Variablen
Instanz-Variablen werden in Ruby innerhalb einer Instanzmethode definiert. Sie werden, wie auch andere Variablen beim ersten Vorkommen angelegt. Da sie ausserhalb der Instanzmethoden nicht sichbar sind, werden sie als privat bezeichnet.
Instanz-Variablen beginnen immer mit dem Klammeraffen (bzw. at-Zeichen) »@«, gefolgt von Groß-/Kleinbuchstaben oder Zahlen.
- @instvar
- @XVAR
- @_
- @e99
Klassen-Variablen
Klassen-Variablen gelten innerhalb der gesamten Klasse (inkl. Subklassen) und werden auch als privat bezeichnet, da sie ausserhalb der Klasse unsichtbar sind.
Klassenvariablen werden normalerweise direkt am Beginn (unter def ...) defniniert. Sie beginnen mit doppelten Klammeraffen (bzw. at-Zeichen) »@@«. Ansonsten gelten dieselben Namenskonvetion, wie bei Instanz-Variablen.
- @@classtvar
- @@MYVAR
- @@_
- @@Xe99_f
Diskussion geschlossen
Die Kommentarfunktion ist vom 16. bis zum 25. August 2008 deaktiviert. Private Mitteilungen an Martin bitte per E-Mail an martin@labuschin.com. Danke.