Lektion 1 - Mein erstes Rubyprogramm sagt... 7

Erstellt von Frithjof Sun, 11 Mar 2007 18:01:00 GMT

Nun endlich nach der langen Vorarbeit schreiben wir unser erstes Rubyprogramm.

Lade dir die Datei rubykids.rb hier herunter und speichere sie im Verzeichnis c:\entwicklung ab. Diese Datei benötigst du, damit dein erstes Rubyprogramm läuft. Aber du brauchst den Inhalt der Datei nicht zu verstehen. Am besten ist es, du schaust ihn dir gar nicht erst an. Das machen wir später gemeinsam.

Öffne die Kommandozeile (Start, Ausführen, cmd eingeben und Enter, das kennst du schon aus der Vorbereitung) und welchsle in das Verzeichnis c:\entwicklung mit dem Befehl cd c:\entwicklung an der Kommandozeile:


C:\...>cd c:\entwicklung

und drücke anschließend die Entertaste. Gib als nächsten Befehl an der Kommandozeile ein:


C:\entwicklung>dir

Es erscheint eine Auflistung aller Dateien und Unterverzeichnisse im Verzeichnis c:\entwicklung. Bisher gibt es da noch nix außer der Datei rubykids.rb, die du gerade dort abgelegt hast.

Lege eine Textdatei lektion_01.rb an, in die werden wir den Programmcode eingeben. Dazu gibst du an der Kommandozeile den Befehl ein:


C:\entwicklung>vim lektion_01.rb

Es öffnet sich der Editor Vim innerhalb des Fensters der DOS-Box. In der ersten Zeile steht eine kleine 1 am Zeilenanfang und es blinkt ein rechteckiger Cursor.

Tippe auf deiner Tastatur mal auf die Taste mit dem Buchstaben I. Du merkst, der Editor schreibt kein i hin, sondern es passieren stattdessen zwei andere Dinge: Der Cursor ist nun zum blinkenden Strich geworden und unten steht in der Fußzeile auf einmal - – EINFÜGEN – -. Das bedeutet, du hast mit dem Druck auf die Taste I den Editor Vim in den Einfügemodus umgeschaltet. Immer, wenn du mit Vim etwas am Inhalt der Datei ändern möchstes (was neues schreiben, oder was löschen oder ändern) musst du zunächst Vim in diesen Einfügemodus bringen. Mehr brauchst du zunächst nicht zu wissen. Wir werden in einer der späteren Lektionen Vim noch etwas genauer kennen lernen.

Also Vim ist jetzt im Einfügemodus. Du tippst nun folgendes ein:


# lektion_01.rb
require 'rubykids'

schreibe "Hallo, grüß dich!" 

Wenn du diese 3 Zeilen hingeschrieben hast (ich zähle die leere Zeile mit als zweite Zeile!), dann drückst du die ESC Taste (Escape) die sich ganz oben links auf deiner Tastatur befindet. Nun blinkt auf einmal wieder der rechteckige Cursor. Vim ist wieder im Commandmodus.

Tippe jetzt wo Vim wieder im Commandmodus ist auf der Tastatur einfach folgende Zeichen ein

:x

Du siehst, dass nun in der Fußzeile die Zeichen hingeschrieben werden und der rechteckige Cursor auf einmal dort unten blinkt. Immer wenn Vim im Commandmodus ist, denkt Vim (ok der Entwickler von Vim dachte), dass du ihm ein Kommando geben möchtest und schreibt daher die getippten Zeichen nicht in den Text der Datei, sondern in die Fußzeile. Der Befehl :x bedeutet für Vim: Speichere die Datei und lass mich wieder zurück zur Kommandozeile!

Drücke nun noch die Entertaste und Vim wird deinem Befehl gehorchen – die Datei speichern und zur Kommandozeile zurückkehren.

Du bist nun wieder in der Kommandozeile an der Stelle, kurz bevor du Vim geöffnet hattest. Die alten Befehle stehen noch dort.

Gib nun als neuen Befehl an der Kommandozeil ein:


C:\entwicklung>ruby lektion_01.rb

Jetzt wird es spannend. Mit diesem Befehl rufen wir Ruby auf und sagen, dass Ruby unser Programm, was wir in die Datei lektion_01.rb geschrieben haben, ausführen soll. Drücke noch die Entertaste.

Falls du hier jetzt eine Fehlermeldung angezeigt bekommst, überprüfe bitte, ob du die Datei rubykids.rb im Verzeichnis c:\entwicklung abgelegt hast.

Andernfalls, wenn rubykids.rb vorhanden ist und du dich im Programm nicht vertippt hast, erscheint der Text, den wir auf der Kommandozeile ausgeben wollten:

Hallo, grüß dich!

Moment, das stimmt nicht ganz. Das ü und das ß werden nicht korrekt ausgegeben. An ihrer Stelle stehen zwei komische andere Zeichen. Das können wir leider nicht ändern. Wenn es dich sehr stört, kannst du eine der folgenden Möglichkeiten versuchen:
  1. Ändere dein Programm so ab:
    
    # lektion_01.rb
    require 'rubykids'
    
    schreibe "Hallo, gruess dich!" 
    
    
  2. Oder leite die Ausgabe des Programms in eine Textdatei um und schau dir anschließend die Textdatei mit vim an
    
    C:\entwicklung>ruby lektion_01.rb > ausgabe.txt
    C:\entwicklung>vim ausgabe.txt
    
    
  3. Hat Mama noch eine Idee?

Wie es funktioniert

Schauen wir uns die beiden Zeilen unseres ersten Programms etwas genauer an.


# lektion_01.rb
require 'rubykids'

Require ist englisch und bedeutet soviel wie “benötigen”. Danach folgt die Zeichenkette ‘rubykids’, die angibt, was wir benötigen. Und zwar benötigen wir den Rubycode, der sich in einer Datei mit Namen rubykids.rb versteckt. Die Dateiendung .rb lassen wir dabei weg. Die Datei rubykids.rb enthält einige Vereinfachungen, die wir am Anfang verwenden werden. Nach und nach werde ich sie dir aber erklären, so dass du irgendwann rubykids.rb überhaupt nicht mehr brauchst.

Wenn du Ruby mit einem gewöhnlichen Buch oder Tutorial lernst, wirst du selbstverständlich dort nichts von require ‘rubykids’ sehen. Somit auch nicht unsere vereinfachten Befehle, wie z.B. schreibe. Ohne rubykids.rb müssten wir unser erstes Programm aus Lektion 1 etwa so schreiben:


# lektion_01.rb
puts "Hallo, grüß dich!" 

und du könntest es dann wie folgt ausführen:


C:\entwicklung>ruby lektion_01.rb

Ohne die Kommentarzeile besteht das einfachste Rubyprogramm somit nur aus einer einzigen Zeile! Wenn du dich mit Ruby schon etwas auskennst, kannst du gerne auch rubykids.rb komplett ignorieren, sofern du die entsprechenden Befehle zu ersetzen weißt. Kennst du dich mit Ruby allerdings noch überhaupt nicht aus, folge einfach meinem Vorschlag, zunächst mit den vereinfachten Befehlen zu arbeiten und erst später auf die echten Befehle umzusteigen.


schreibe "Hallo, grüß dich!" 

schreibe ist ein Befehl, der etwas auf der Kommandozeile ausgeben kann. Was genau der Befehl ausgeben soll, müssen wir ihm noch durch eine Zusatzinformation mitteilen. Diese Zusatzinformation steht direkt nach dem Befehl in derselben Zeile. Es ist meistens auch üblich, dass man die Zusatzinformation in Klammern hinter den Befehl schreibt:


schreibe("Hallo, grüß dich!")

Der Befehl schreibe ist wie schon angesprochen eigentlich kein echter Rubybefehl. schreibe stammt aus der Datei rubykids.rb, die wir über den require Befehl in unserem Programm bekannt gemacht haben.

Schauen wir uns die Zusatzinformation näher an, die wir an den schreibe Befehl geschickt haben. “Hallo, grüß dich!” ist eine Zeichenkette (englisch auch String genannt). Eine Zeichenkette ist eine Aneinanderreihung von beliebigen Zeichen. Beliebig heißt aber nicht wirklich ganz beliebig. Es gibt Zeichen, die innerhalb einer Zeichenkette eine besondere Bedeutung haben. Dazu lernen wir in den nächsten Lektionen noch einiges. Ich meine mit beliebig hier, dass du beliebige Buchstaben, Zahlen und die üblichen Satzzeichen für die Zeichenkette verwenden kannst.

Das fertige Rubyprogramm führen wir schließlich an der Kommandozeile aus mit


C:\entwicklung>ruby lektion_01.rb

Was der Aufruf genau bedeutet, beschreibe ich unter Aufruf des Rubyinterpreters. Kurz gesagt rufen wir hier Ruby auf, wobei wir angeben, in welcher Datei unser Programm abgelegt ist.

Peter und Livia

  • Peter: Wie schreibe ich mein erstes Rubyprogramm?
    Livia: Lege eine Textdatei mit Namen lektion_01.rb im Verzeichnis c:\entwicklung an und gib den Programmtext (Programmcode) ein.
    
    # lektion_01.rb
    require 'rubykids'
    
    schreibe "Hallo, grüß dich!" 
    
    
  • Peter: Und dann, was mache ich damit?
    Livia: Wenn du lektion_01.rb abgespeichert hast, öffnest du eine Kommandozeile über Start => Ausführen, cmd, wechselst in das Verzeichnis c:\entwicklung und gibst an der Kommandozeile den Befehl zum Ausführen des Programms ein
    
    C:\entwicklung>ruby lektion_01.rb
    
    
  • Peter: Hab’ ich gemacht, aber es stehen komische Zeichen an der Kommandozeile.
    Livia (schon leicht genervt, Jungs sind manchmal so anstrengend!): Die Kommandozeile kann keine Umlaute und auch kein ß ausgeben und gibt stattdessen eben Blödsinn aus!

- Änderungen
22.09.2007, Unicodeproblem mit Umlauten

Trackbacks

Verwenden Sie den folgenden Link zur Rückverlinkung von Ihrer eigenen Seite:
http://www.rubykids.de/trackbacks?month=03&year=2007&article_id=lektion01&day=11

Meine Nachricht

Einen Kommentar hinterlassen

  1. magi 7 months later:
    Warum brauchen ich die Rubykid Datei? gruß, magi
  2. Frithjof 8 months later:
    Die rubykids.rb Datei ist eine kleine Bibliothek, die hautsächlich dafür gedacht ist, am Anfang die englischsprachigen Rubybefehle durch deutsche Namen zu ersetzen. Zum Beispiel ist in dieser Datei der Befehl für die Ausgabe schreibe definiert, der im Prinzip dem Originalbefehl puts entspricht.
  3. Peter about 1 year later:
    Kann ich nicht mit Vista öffnen :-(((
  4. Norbert[ÄD]Lindenthal.com about 1 year later:
    rubykids.rb verlangt nach jcode. Das wird aufm Mac wohl anders lauten. Wie kann ich rubykids.rb für Mac anpassen? Weiß das jemand?
  5. mustafa about 1 year later:
    hallo..ich habe n problem beim downloaden. hab noch scite und rubby schon herunterladen aber ich kann die beide programme ned installieren. es scheint am destkop die programme namen mit der Icon von Winrar.. und mit winrar geht es immer noch ned.. hab windows xp.(war nur INfo:))
  6. nichess over 3 years later:
    Hallo, der Befehl "vim" wird unter cmd nicht erkannt.
  7. thomas over 3 years later:
    nichess, du musst das programm vim runterladen wie uner punkt 4 beschrieben: http://www.rubykids.de/articles/2007/03/03/vorbereitung4
Comments