Was ist Ruby
Wie aus dem Namen „Ruby on Rails" ersichtlich ist, baut das Framework auf der Scriptsprache Ruby auf. Ruby wurde
zwischen 1993 und 1995 von Yukihiro Matsumoto in Japan entwickelt, Anstoß hierzu war der Frust über inkonsistente
Programmiersprachen. Daher folgt Ruby dem Prizip der geringsten überraschung und versucht so möglichst intuitiv
zu sein. Bekannt wurde Ruby in den USA und Europa aber erst ab ca. 2000, da erst zu diesem Zeitpunkt die ersten englischen Dokumentationen
verfügbar waren.
Ruby ist eine vollständig objektorientierte Interpretersprache, deren Syntax an C++ und Eifel angelehnt wurde.
Ebenso wie C++ ist Ruby eine „Multiparadigmen-Sprache" und unterstützt somit die objektorientierte,
prozedurale und funktionale Programmierung. Mittlerweilse lassen sich Rubyprogramme durch
JRuby in Java verwenden.
Um die folgende kurze Einführung in die Sprache nachzuvollziehen zu können, empfehle ich einen Besuch der Webseite
tryruby.hobix.com. Auf dieser Webseite steht eine interaktive
Rubyshell im Webbrowser zur Verfügung.
[top]
Datentypen
In Ruby sind alle Datentypen Objekte. Es gibt keine spezielle Datenstruktur für primitve Typen wie in Java. Zusätzlich
ist Ruby, ähnlich wie PHP, dynamisch typisiert.
Beispiele: [top]
Variablen
Ruby hat fünf Typen von Variablen:
Globale Variablen
Sie sind durch den Präfix „$" gekennzeichnet und zeigen vor der Inizialisierung immer auf „nil"
Instanz Variablen
Instanz Variablen sind nur innerhalb einer Instanz einer Klasse gültig und haben das Präfix „@"
Klassen Variablen
Klassen Variablen sind für eine Klasse definiert und jede Instanz dieser Klasse greift auf die selbe Variable zu.
Klassen Variabeln haben „@@" als Präfix.
Lokale Variablen
Sie sind nur in einem Block gültig, also zwischen class|modul|def und end. Sie bestehen per Definition nur aus
Kleinbuchstaben.
Konstanten
Konstanten beginnen in Ruby immer mit einem Großbuchstaben. Ihre Gültigkeit beschränkt sich auf den jeweiligen
Kontext in dem sie angelegt wurden, d.h. eine Konstante, die innerhalb einer Klasse definiert ist, ist auch nur
innerhalb dieser Klasse definiert.
[top]
Klassen und Methoden
Die Definition von eigenen Klassen und Methoden sollte durch das folgende Beispiel deutlich werden:
[top]
Dynamik der Sprache
In Ruby existiert die Möglichkeit einer Methode einen Code-Block zu übergeben. Innerhalb dieser Methode kann jetzt
mittels des Schüsselworts „yield” der Code ausgeführt werden. So lassen sich sehr einfach z.B: dynamische Iteratoren
erzeugen.
[top]