Conditionals |
|
Gute Porgrammiertechniken |
Nun da Sie mit Konditionalen umgehen können, ist es Zeit für eine andere Art von Schleife: Die while-Schleife.
Diese Art von Schleife ist mächtiger als die, die Sie bisher gesehen haben. Aber es benötigt das Wissen um die Konditionale. Das Grundgerüst sieht so aus:
while Bedingung ... end |
Wobei Bedingung ein Konditional ist, wie Sie es im letzten Abschnitt gesehen haben.
Hier ein einfaches Beispiel:
Gehen wir das Programm durch:
Das geht so weiter bis zaehler 10 ist. Die Ausgabe dieser Schleife ist somit:
In anderen Worten, eine while-Schleife wird wiederholt, solange die Bedingung wahr ist. Daher der Name while.
Es gibt Dinge, die sehr einfach mit while-Schleifen zu realisieren sind, aber sehr schwer mit 'n.times'.
Wir möchten die höchste Potenz von 2 wissen, die kleiner als 10000 ist. Das ist mit einer while-Schleife einfach:
Stellen Sie sich vor, wie schwer dies zu realisieren wäre mit 'n.times'.
Schreiben Sie das letzte Programm um, so dass der Computer nach der maximalen Zahl fragt und die entsprechende Potenz von 2 ausgibt.
Starten Sie das obige Programm und geben Sie 1e10 ein. Was passiert?
Wenn Sie die Methode String#to_i benutzt haben, besteht die Chance, dass "1e10" in 1 konvertiert wurde. Versuchen wir dies in irb raus zu finden.
Sie sehen 1e10 ist eine Fließkommazahl (Floats). Deshalb müssen Sie String#to_f stattdessen benutzen.
Bedingungen |
|
Gute Programmiertechniken |