[Script] Ruby-Grundlagen

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von jolt-addicted, 6. Mai 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. Mai 2006
    Ruby-Grundlagen

    Vorweg noch:
    Ruby-Scripte startet man mit "ruby name.rb".
    Den Ruby-Interpreter gibts auf http://www.ruby-lang.org
    Fuer Feedback einfach eine Mail an s.goretzki--at--xisle.de oder eine PN!

    Kapitel 1
    Es beginnt...

    Das Programm, mit dem man wohl in jeder Programmiersprache
    anfängt:

    Code:
    print "Hello World!\n" #Ausgabe mit "print"
    Jetzt werden wir mal den Code besprechen:

    Textausgabe
    Mit print kann man Text auf den Bildschirm ausgeben.
    Der auszugebende Text steht in den Anführungszeichen.
    Hier fällt schon auf, dass die Anweisungen nicht mit
    einem Semikolon (Strichpunkt) beendet werden müssen.
    Das "\n" am Ende des Strings erzeugt einen Zeilenumbruch.
    Wenn man "puts" statt "print" verwendet, wird danach automatisch ein Zeilenumbruch erzeugt.

    Kommentare
    Mit # beginnt man ein Kommentar, diese Kommentare werden vom
    Interpreter ignoriert. Das Kommentar reicht bis zum Ende der
    Zeile.




    Kapitel 2
    Variablen
    Kommen wir mal zu den Variablen. Der Typ passt sich je nach
    Art des Wertes an.

    Code:
    variable = 10
    
    Hier wird der Variable "variable" der Wert 10 zugeordnet.
    Wir können der Variable aber auch einen String zuordnen:

    Code:
    variable = "beispiel"
    
    Somit wurde der Variable "variable" der String "beispiel"
    zugeordnet. Die Variablen müssen mit einem Kleinbuchstaben
    beginnen.

    Operationen
    Unter Ruby kann man die gebräuchlichen C-Operatoren verwenden.

    Code:
    a = 1 + 2 # Addiere 1 und 2 und speichere Resultat in $a 
    a = 3 - 4 # Subtrahiere 4 von 3 ... 
    a = 5 * 6 # Multipiziere 5 und 6 
    a = 7 / 8 # Dividiere 7 mit 8 
    a = 9 ** 10 # Neun hoch zehn 
    a = 5 % 2 # 5 % 2 
    ++a # Inkrement a, Rückgabe von a 
    --a # Dekrement a, Rückgabe a 
    
    Strings kann man mit "+" zusammenfügen.




    Kapitel 3
    Eingabe

    Diesmal geht es um Eingaben über die Tastatur. Unter Ruby ist dies sehr einfach zu
    realisieren.

    Code:
    print "Nenne eine Zahl: "
    zahl = STDIN.gets
    
    Mit der Methode "gets" von STDIN lassen sich Zeilen über die Tastatur einlesen, die dann als String (hier) in der
    Variable "zahl" gespeichert werden.
    Um mit diesen Zahlen zu rechnen müssen sie erst in einen Fixnum (Zahlenwert) umgewandelt werden, dies macht man mit der Methode
    "to_i".
    Beispiel:

    Code:
    print "Zahl1: "
    zahl1 = STDIN.gets # Zeile einlesen und in der Variable "zahl1" speichern
    print "\n"
    print "Zahl2: "
    zahl2 = STDIN.gets
    print "\n"
    zahl3 = zahl1.to_i + zahl2.to_i
    puts "Summe:", zahl3 # Einen Fixnum und einen String verbindet man mit ","
    
    So kann man schon fast einen kleinen Taschenrechner programmieren, es fehlt nur noch die IF-Abfrage,
    die wir im nächsten Kapitel besprechen werden.




    Kapitel 4
    IF-Abfragen - Teil 1

    IF-Abfragen ermöglichen es verschiedene Aktionen auszuführen, je nachdem welche Bedingung erfüllt wurde.
    Zum Beispiel:

    Code:
    if alter<18
     print "Du bist zu jung für mich\n" 
    else
     print "Du bist zu alt für mich\n"
    end
    
    Das Schlüsselwort "if" leitet eine IF-Abfrage ein. Mit der danachstehenden Anweisung "alter<18" wird geprüft, ob der Wert der Variable alter kleiner 18 ist.

    Else

    Das Schlüsselwort "else" bedeutet so viel wie "ansonsten". Hier wird die Anweisung nur ausgeführt, wenn "alter<18" nicht wahr ist.
    Die IF-Abfrage wird mit dem Wort "end" wieder beendet.

    Mögliche Operatoren in IF-Abfragen sind z.B.:

    Code:
    == # gleich
    != # nicht gleich
    > # größer als
    < # weniger als
    >= # größer als oder gleich
    <= # weniger als oder gleich
    
    Hinweis:
    Ein "==" ist ein Vergleich, ein "=" dagegen ist eine Zuweisung.


    Übungsaufgabe:
    Schreibe einen kleinen Taschenrechner, der addieren, subtrahieren und multiplizieren kann.


    Lösungsvorschläge könnt ihr mir per Mail oder PM schicken.

    Im nächsten Kapiten werden wir "elsif" besprechen, dass uns bei der Realisierung des Taschenrechners helfen kann.




    Kapitel 5
    IF-Abfragen - Teil 2

    Bei der Realisierung der Übung des vorigen Kapitels hast du vielleicht festgestellt, dass es recht umstädlich ist wiederholend
    Code:
    If bedingung
    else
    end
    
    zu verwenden.

    Eine Lösung dieses Problems bietet das Schlüsselwort "elsif". ELSIF macht es dir möglich, in einem Block mehr als eine Bedingung zu überprüfen.

    Ein Beispiel:

    Code:
    if alter < 18
     puts "Du bist zu jung"
    elsif alter == 18
     puts "Du bist genau richtig"
    elsif alter > 18
     puts "Du bist zu alt"
    else
     puts "Du bist weder unter 18, gleich 18 oder über 18."
    end
    
    Gehen wir das mal gemeinsam durch:

    Erst wird überprüft, ob alter kleiner 18 ist. Wenn das falsch ist, wird überprüft ob alter gleich 18 ist. Ist dieser Ausdruck auch falsch, wird überprüft, ob alter größer 18 ist. Ist dieser Ausdruck auch nicht war, wird die Anweisung des ELSE-Schlüsselwortes ausgeführt. Hier:
    Code:
    puts "Du bist weder unter 18, gleich 18 oder über 18."
    Hinweis:
    Nur die erste Bedingung, die wahr ist, wird ausfegührt.


    Beispiel:
    Code:
    alter = 21
    
    if alter > 5
     puts "Älter als 5"
    elsif alter > 10
     puts "Älter als 10"
    elsif alter > 20
     puts "Älter als 20" 
    elsif alter > 30
     puts "Älter als 30"
    end
    
    Hier wird nur "Älter als 5" zurückgegeben.

    Übungsaufgabe:
    Verändere das Programm so, dass es "Älter als 30" und "Älter als 20" ausgibt.


    Lösungsvorschläge wie immer per Email oder PM.

    (sry, dass ich das alles in ein post frickeln musste, aber durch diese sperre, dauert es ewig, bis ich das fertig gepostet habe)
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.