Vollständige Version anzeigen : [Script] Ruby-Grundlagen


jolt-addicted
06.05.2006, 22:29

Vorweg noch:
Ruby-Scripte startet man mit "ruby name;rb".
Den Ruby-Interpreter gibts auf (;;;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:

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.


variable = 10


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


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.


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.


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:


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:


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;:


== # 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

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:


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:
puts "Du bist weder unter 18, gleich 18 oder über 18;"

Hinweis:
Nur die erste Bedingung, die wahr ist, wird ausfegührt.

Beispiel:

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)

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu [Script] Ruby-Grundlagen
  • Freehosting für Ruby on Rails (ROR)
    hi, suche für einen Bugtracker der in ROR (Ruby on Rails) geschrieben ist einen freehoster der auch mysql drauf hat gibts sowas ??? [...]

  • Winkelsätze in ruby?
    Hey, Ruby scheint keine Winkelsätze (konkret brauch ich arccos) zu kennen. Jemand ne Idee woher ich nen plugin/modul oder sowas dafür herbekommen könnte? grüße My-Doom [...]

  • [Script] Ruby & Datenbanken
    hallo zusammen!! und zwar habe ich info und mein lehrer verlangt nun dass wir ein programm schriebn.....;und das bis mitwoch. es soll wie folgt aussehen und alle CRUD funktionen haben, also create, read, update and destroy. bitte helft mir! : Programm-Idee: - Daten verwalten mit einer Tabelle -- [...]

  • [Script] Ruby (on Rails)
    Hallo, wollte fragen ob jemand Erfahrung mit Ruby (bzw. Ruby on Rails) hat? Würde mir Ruby gerne etwas näher ansehen. Gibt es irgendwo ein nützliches Tutorial welches einen guten Einstieg bietet? Was für IDEs (Entwicklungsumgebungen) gibt es für Ruby (on Rails)? Ich würde Ruby primär f [...]



raid-rush.ws | Imprint & Contact pr