19. Mai 2007 in Ruby » Grundlagen

Variablen, Ihre Namenskonventionen und Gültigkeitsbereiche in Ruby

Hier erfahrt ihr alles über Variablen, ihre Namenskonvetionen und Gültigkeitsbereiche. In Ruby gibt es, wie auch in anderen objekt-orientierten Sprachen lokale und globale Variablen, wie auch Instanz- und Klassen-Variablen.

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.