Verwendung von Loops in Ruby

Computerprogramme müssen häufig mehrmals Aktionen ausführen, nicht nur einmal. Zum Beispiel muss ein Programm, das alle Ihre neuen E-Mails druckt, jede E-Mail aus einer Liste und nicht nur eine einzelne E-Mail drucken. Dazu werden Konstrukte verwendet, die als Schleifen bezeichnet werden. Eine Schleife wiederholt die darin enthaltenen Anweisungen einige Male, bis eine Bedingung erfüllt ist.

While-Schleifen

Der erste Typ dieser Schleifen ist eine while-Schleife. While-Schleifen führen alle darin enthaltenen Anweisungen aus, solange die bedingte Anweisung wahr bleibt. In diesem Beispiel erhöht die Schleife den Wert der Variablen kontinuierlich ich einzeln. Solange die bedingte Anweisung ich < 10 Ist dies der Fall, setzt die Schleife die Ausführung der Anweisung fort i + = 1 Hierdurch wird der Variablen eine hinzugefügt.

#! / usr / bin / env ruby
i = 0
während ich < 10
i + = 1
Ende
setzt ich

Bis zu den Schleifen

Until-Schleifen sind fast identisch mit while-Schleifen, mit der Ausnahme, dass sie eine Schleife ausführen, solange die bedingte Anweisung gültig ist falsch. Die while-Schleife wird wiederholt, solange die Bedingung wahr ist, und die until-Schleife wird wiederholt bis um Die Bedingung ist wahr. Dieses Beispiel ist das funktionale Äquivalent des while-Schleifenbeispiels, außer dass eine until-Schleife verwendet wird, bis ich == 10 . Die Variable wird um eins erhöht, bis ihr Wert gleich zehn ist.

#! / usr / bin / env ruby
i = 0
bis ich == 10
i + = 1
Ende
setzt ich

Loops der "Ruby Way"

Obwohl herkömmliche while- und until-Schleifen in Ruby-Programmen verwendet werden, sind schließungsbasierte Schleifen häufiger. Es ist nicht einmal notwendig zu verstehen, was Verschlüsse sind oder wie sie funktionieren, um diese Schleifen zu verwenden. Tatsächlich werden sie als normale Loops angesehen, obwohl sie unter der Haube sehr unterschiedlich sind.

Die Zeitschleife

Das mal loop kann für jede Variable verwendet werden, die eine Zahl enthält, oder für eine Zahl selbst. Im folgenden Beispiel wird die erste Schleife dreimal ausgeführt, und die zweite Schleife wird ausgeführt, jedoch vom Benutzer mehrmals eingegeben. Wenn Sie 12 eingeben, wird es 12 Mal ausgeführt. Sie werden feststellen, dass die times-Schleife die Punktsyntax (3.times do) anstelle der Schlüsselwortsyntax verwendet, die von der while- und until-Schleife verwendet wird. Dies hat damit zu tun, wie die Zeitschleife unter der Haube funktioniert, sie wird jedoch in der gleichen Weise wie die Zeitschleife oder die Zeitschleife verwendet.

#! / usr / bin / env ruby
3 mal tun
setzt "Dies wird 3 mal gedruckt"
Ende
print "Gib eine Zahl ein:"
num = gets.chomp.to_i
num.times do
setzt "Ruby ist großartig!"
Ende

Die jeweilige Schleife

Das jeder loop ist vielleicht die nützlichste aller schleifen. Jede Schleife nimmt eine Liste von Variablen und führt für jede einen Anweisungsblock aus. Da fast alle Rechenaufgaben Listen von Variablen verwenden und mit jeder von ihnen in der Liste etwas zu tun haben, ist jede Schleife die mit Abstand häufigste Schleife im Ruby-Code. Zu beachten ist hier das Argument zum Anweisungsblock der Schleife. Der Wert der aktuellen Variablen, auf die sich die Schleife bezieht, wird dem Variablennamen in Pipe-Zeichen zugewiesen | n | im Beispiel. Wenn die Schleife zum ersten Mal ausgeführt wird, wird die n Variable wird gleich "Fred" sein, das zweite Mal, wenn die Schleife ausgeführt wird, wird es gleich "Bob" sein und so weiter.

#! / usr / bin / env ruby
# Eine Liste von Namen
names = ["Fred", "Bob", "Jim"]
names.each do | n |
setzt "Hallo # n"
Ende