Lerne mehr über Ruby on Rails mit Martin Labuschins
Ruby on Rails Link Library.
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 sichtbar 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
blog comments powered by Disqus