Zum Inhalt springen

Ruby (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. September 2003 um 09:43 Uhr durch 212.117.212.194 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.


Ruby ist eine objektorientiere, interpretierte Programmiersprache. Sie hat ihre Wurzeln in Perl, Smalltalk, Python, LISP und CLU, wobei Perl die wichtigste darstellt.

Merkmale der Sprache

Ruby ist komplett objektorientiert. Alle Daten sind Objekte, anders als bei Java oder Python sogar die Basistypen. Jede Funktion ist eine Methode. Mit sehr wenigen Ausnahmen enthält jede Variable eine Referenz auf das Objekt, nicht das Objekt selbst. Auch wenn Ruby selbst objektorientiert ist, kann man auch struktuiert und funktional programmieren.

Die Sprache wurde von Yukihiro "Matz" Matsumoto am 24. Februar 1993 entwickelt. 1995 wurde sie erstmals veröffentlicht, die aktuell stabile Version ist 1.8.0, die auf der offiziellen Seite heruntergeladen werden kann. Matsumoto entwickelte Ruby nach dem "principle of least surprise", dem Prinzip der geringsten Überraschung, womit gemeint ist, dass die Sprache frei von Fallen und Widersprüchen sein soll, mit denen man bei anderen Programmiersprachen zu kämpfen hat. Der Name "Ruby" (engl. für Rubin) ist übrigens kein Acronym, sondern eine Anspielung auf Perl (engl. Perle).

Syntax

Der Syntax von Ruby ist sehr frei. Anweisungen müssen nicht wie in vielen Sprachen nicht durch ein Semikolon abgeschlossen werden, solange nur einer pro Zeile angegeben ist, und Parameter von Methoden müssen nicht in Klammern gesetzt werden. Verboten ist es aber auch nicht, so dass man es zur Verdeutlichung jederzeit tun kann. Weiterhin fällt auf, dass bei Funktionen und Methoden der Rückgabewert nicht explizit angeben werden muss. Stattdessen wird automatisch der Wert der letzten Anweisung zurückgeben.

Anders als in Python werden Blockstrukturen aber nicht durch die Einrückung selbst bestimmt, sondern wie bei den meisten Sprachen durch Schlüsselwörter (begin...end, while...end, ...).

Programmierbeispiele

>> -199.abs
=> 199

>> "Ruby ist cool".length
=> 13

>> "Rick".index("c")
=> 2

>> "Wort".swapcase
=> "wORT"

>> "rentner-rennen".reverse.capitalize
=> "Nenner-rentner"

>> #Arrays
?> [11, 5, 7, 2, 13, 3].sort
=> [2, 3, 5, 7, 11, 13]

>> [11, 5, 7, 2, 13, 3].sort.reverse
=> [13, 11, 7, 5, 3, 2]

>> ["Eins", "Zwei", "Drei"] + ["Eins", "Vier"] - ["Eins"]
=> ["Zwei", "Drei", "Vier"]

>> # Hashes (Assoziative Arrays)
?> {"vorname" => "Heribert", "nachname"=>"Maier", "alter"=>43}
=> {"alter"=>43, "nachname"=>"Maier", "vorname"=>"Heribert"}

# Gibt zehn mal hintereinander "Hello, world!" in einer neuen Zeile aus
10.times {
        string1 = "Hello world".gsub(" ", ", ")    # Ersetze alle Leerzeichen (' ') durch
                                                   # Komma mit Leerzeichen (', ') und speichere
                                                   # in string1
        string1 += "!"                             # Hänge "!" an string1
        puts string1                               # Ausgabe der Variable string1, gefolgt von
                                                   # einem Zeilenumbruch
}

Bücher


Siehe auch: Jack Ruby, der durch den Mord an Lee Harvey Oswald zur Verdunklung des Mordes an John F. Kennedy beitrug