Die Programmiersprache Ruby

Blog| Forum| Wiki  

Die Artikel Tricks und RubyWiki:FAQ überschneiden sich inhaltlich. Bitte hilf mit, das zu verbessern, indem du die Artikel unter einem Namen zusammenführst.
Bitte entferne anschließend den Redundanz-Baustein.

Die Artikel Pitfalls und RubyWiki:FAQ überschneiden sich inhaltlich. Bitte hilf mit, das zu verbessern, indem du die Artikel unter einem Namen zusammenführst.
Bitte entferne anschließend den Redundanz-Baustein.

Auf dieser Seite erhältst du Antworten auf die zu Ruby meistgestellten Fragen. Wirst du nicht fündig, kannst du jederzeit drüben im Forum posten. Schaue dir aber vorher auch noch die Seiten Tricks und Pitfalls an.

Inhaltsverzeichnis

Wie fange ich an?

siehe Erste Schritte

Wieso funktionieren in der irb unter Windows manche Tasten nicht?

Dies ist ein Fehler in der Software: Zeichen, für die die AltGr-Taste benötigt wird, können nicht eingegeben werden. Die genauen Umstände des Fehlers sind nicht bekannt (er tritt vermutlich nur bei Windows 2000 und XP auf), aber er kann behoben werden, indem in einem Verzeichnis (zum Beispiel in Eigene Dateien) eine Datei .inputrc mit dem folgenden Inhalt angelegt wird:

"\M-[": "["
"\M-]": "]"
"\M-{": "{"
"\M-}": "}"
"\M-\\": "\\"
"\M-|": "|"
"\M-@": "@"
"\M-~": "~"

Da das Erstellen einer Datei, deren Name mit einem Punkt beginnt, im Explorer nicht ohne weiteres möglich ist, muss hierfür die Kommandozeile bemüht werden, zum Beipsiel

notepad .inputrc

Außerdem muss die Umgebungsvariable $HOME auf dieses Verzeichnis gesetzt werden. Das geht am besten über Arbeitsplatz/Eigenschaften/Erweitert/Umgebungsvariablen.

Alternativ kann man irb ohne readline-Option starten:

irb --noreadline

Mehr zu Readline siehe: The GNU Readline Library.

Welche Version sollte ich nutzen?

Auf extrem alten Systemen befindet sich noch Ruby 1.6.7 oder 1.6.8.
Diese Version ist hoffnungslos veraltet, die einzigen Referenzen auf sie finden sich noch auf Seiten wie der deutschen Übersetzung der Pickaxe.

Die momentane Standardversion ist Ruby 1.9.x (es handelt sich hierbei um ein stabiles Release, obwohl die ungerade Versionsnummer eventuell anderes vermuten lässt). Sie hat viel gegenüber ihrem Vorläufer 1.8.x (der aber noch weiter gepflegt wird) verändert, besonders die Änderungen an String (Encodings) und Regulären Ausdrücken (Oniguruma-Engine) sind ein großer Schritt in die Zukunftsfähigkeit von Ruby gewesen. Seit dem Release von Rails 3 besitzt dieses auch Unterstützung für Ruby 1.9, sodass es keinen Hinderungsgrund mehr geben sollte, diese Version zu nutzen.

Die Version 1.8.7 wird neben Ruby 1.9 noch bis Juni 2013 gepflegt. Bis dahin kann diese Version noch genutzt werden, sollte aber schleunigst aktualisiert werden und ist für neue Projekte entsprechend nicht mehr zu empfehlen.

Die Version 2 wird Ruby nochmal fundamental verändern. Man möchte sozusagen einen Schnitt machen und Ruby nochmal gänzlich neu implementieren. Hierbei sollen auch alle Unzulänglichkeiten und Probleme der Syntax ausgebügelt werden. Der Schritt ist auch nötig, damit man eine stabile Basis für die nächsten Jahre schafft. Wann die Version 2 herauskommen wird, ist noch nicht klar. Da Sprachen nicht von jetzt auf gleich aus dem Boden gestampft werden, wird wohl eher nach 2011 damit zu rechnen sein.

Wie erhalte ich den Integerwert eines ASCII-Zeichens?

1
2
3
4
5
6
7
8
# Strings verhalten sich in der Version 1.8.6 wie Arrays von Bytes
p 'A'[0]  #-> 65
# umgekehrt gibt's eine Methode
p 65.chr  #-> "A"
# ASCII-Werte auch als Literal, sehr n��tzlich
p ?A  #-> 65
# Unter 1.9: 
"A".ord #=> 65


Wie automatisiere ich Webseiten?

Komplett browserunabhängiges Automatisieren von Webseiten ermöglicht das Gem Mechanize, für die, die lieber aktiv "miterleben" wollen, was passiert, gibt es Watir und seine Derivate wie etwa FireWatir für verschiedenste Browser.

Gibt es einen Styleguide?

Inofficial Ruby Guide by Ian Macdonald

Wie schreibe ich eine graphische Benutzeroberfläche (GUI)?

Dazu benötigst du ein sog. "GUI-Toolkit". Ruby selbst bringt das unter Windows recht hässliche Tk mit, daneben sind diverse andere Toolkits als Gem verfügbar. Beispiele sind:

Einen generellen Überblick gibt der Artikel ThemaGUI.

Wie finde und korrigiere ich Fehler in einem Ruby-Programm?

Welche Bücher soll ich zu Ruby lesen?

Schau' mal in den Artikel Literatur.