Ruby-Programmierung: Hallo Welt
Zurück zum Inhaltsverzeichnis.
In diesem Kapitel wollen wir die ersten Schritte in der Rubywelt unternehmen.
Hallo Welt
BearbeitenDas erste Programm in einer neuen Programmiersprache dient dazu, sich mit der Programmierumgebung vertraut zu machen. Es gilt zu lernen, wie man den Programmtext editiert und ihn schließlich zum Ausführen bringt. Es soll zunächst ein Programm geschrieben werden, das die Wörter "Hallo Welt!" ausgibt, und sich anschließend wieder beendet. In Ruby sieht der Quelltext folgendermaßen aus:
puts "Hallo Welt!"
Dafür öffnet man den Editor der Wahl, tippt diese Zeile ein und speichert das Programm als hello.rb. Unter Windows kann man nun das Skript direkt starten, wie man auch ein normales Programm benutzen würde. Unter Linux muss man entweder die sogenannte Shebang-Zeile benutzen (siehe unten) oder dem Ruby-Interpreter mitteilen, dass er das Skript ausführen soll. Dazu öffnet man das Terminal, wechselt mit $ cd PATH
in den entsprechenden Ordner und startet den Ruby-Interpreter mit dem Skriptnamen als Parameter.
$ ruby hello.rb
In beiden Fällen passiert dasselbe. Die Methode puts
wird aufgerufen. Sie dient dazu, Zeichen auf dem Bildschirm auszugeben. Wir wollen die Wörter "Hallo Welt!" ausgeben, also einen Text. Texte werden in Ruby als Zeichenkette (oder auch String) bezeichnet, genaugenommen handelt es sich um eine Instanz des Objekts String. Die Behandlung von Objekten ist an dieser Stelle jedoch nicht nötig, daher folgt die ausführliche Beschreibung von Objekten im Kapitel Objektorientierung. Zeichenketten werden durch einfache oder doppelte Anführungszeichen begrenzt. Alles zwischen zwei Anführungszeichen gehört zu einem String.
Wenn man unter Windows das Skript nicht via Kommandozeile ausführt, dann öffnet sich die Kommandozeile und wird direkt wieder geschlossen. Mit folgender Änderung kann man das umgehen:
puts "Hallo Welt"
gets
Die Methode gets
dient dazu, Eingaben von der Tastatur zu lesen. An dieser Stelle wird das Skript angehalten und erst dann fortgesetzt, wenn der Benutzer die [Eingabe]-Taste gedrückt hat, um seine Eingabe abzuschließen. Was der Benutzer tatsächlich eingegeben hat, interessiert an dieser Stelle nicht. Das Programm soll lediglich so lange warten, bis der Benutzer die Ausgabe gelesen hat und dies mit dem Drücken der [Eingabe]-Taste anzeigt.
Kommentare
BearbeitenIn längeren Programmen kann es notwendig sein, die Funktion des Programms oder einzelner Methoden durch zusätzliche Informationen zu erklären. Dazu gibt es in allen Programmiersprachen Kommentare. Diese sind eigentlich keine Rubybefehle, sondern teilen dem Interpreter mit, dass alle Zeichen nach einer Raute #
bis zum Zeilenende Kommentare sind und vom Rubyinterpreter ignoriert werden. Kommentare haben auf das Verhalten des Rubyskriptes keinen Einfluss.
# Gibt Hallo Welt! aus und wartet auf die Eingabe des Benutzers
puts "Hallo Welt!"
gets
Hierbei handelt es sich um einen Kommentar, da er mit einer Raute beginnt. Er erklärt dem Leser des Programms, was das Programm tut. Auf die Wirkung des Programms hat er keine Auswirkung. Ohne Kommentar stellt man keinen Unterschied in der Funktionsweise fest. Bei umfangreicheren Kommentaren, die sich über mehrere Zeilen erstrecken ist es möglich mehrere Zeilen mit einer Raute zu beginnen, oder auf folgende Syntax mit Gleichheitszeichen auszuweichen:
=begin
Das ist ein
mehrzeiliger Kommentar!
=end
Shebang
BearbeitenDie Shebang-Zeile ist eine spezielle Form des Kommentars. Sie ist auf Linuxsystemen nötig, um dem Betriebssystem mitzuteilen, welches Programm das folgende Skript interpretieren soll.
#!/usr/bin/env ruby
Der genaue Pfad kann sich dabei unterscheiden, je nachdem in welchem Verzeichnis der Interpreter installiert wurde. Danach muss man das Skript ausführbar machen. Dazu dient folgender Konsolenbefehl:
$ chmod u+x hello.rb
Dann ist es möglich, das Rubyskript auch unter Linux wie ein normales Programm zu benutzen. Nötig ist die Shebang-Zeile in zwei Fällen: Zum einen kann es sein, dass Sie Konsolenprogramme schreiben wollen und diese danach benutzen wollen, ohne daran zu denken, dass es sich um ein Ruby-Skript handelt, denn jetzt können Sie es wie jedes andere Programm auch mit $ ./hello.rb
ausführen. Sie können sogar, anders als unter Windows, auf die Dateiendung verzichten, was die Nähe zu einem Programm zusätzlich erhöht.