Fassen Sie den iterativen Prozess von Ruby zusammen.
Die am häufigsten verwendete iterative Methode in Ruby. Praktisch für Arrays und Hashes.
each.rb
fruits = ["apple", "banana", "grape"]
fruits.each{ |fruit| puts fruit }
Die Elemente der Array-Früchte werden einzeln aus dem jüngsten Index herausgenommen, in das Argument Frucht eingefügt und die Verarbeitung in {} wird ausgeführt. Ich benutze {}, weil es nur eine Zeile verarbeitet,
each_do.rb
numbers = [1, 2, 3, 4, 5]
sum = 0
numbers.each do |number|
if number % 2 == 0
sum += number / 2
else
sum += number
end
end
sum #=> 12
Bei mehreren Zeilen erleichtert die Verwendung von do end das Schreiben.
Praktisch für Prozesse mit einer festen Anzahl von Wiederholungen.
times.rb
sum = 0
10.times { |n| sum += n }
sum #=> 45
Nützlich, wenn die Start- und Endnummern festgelegt sind.
upto.rb
15.upto(20) do |age|
if age < 18
puts "#{age}Kein Stimmrecht im Alter"
else
puts "#{age}Ich bin über 18 Jahre alt und habe daher das Wahlrecht"
end
end
bis wiederholt den Vorgang in Richtung Erhöhung des Zahlenwertes. Führt die Verarbeitung von der angegebenen ersten Nummer 15 bis zur letzten Nummer 20 aus.
downto.rb
20.downto(15) do |age|
if age < 18
puts "#{age}Kein Stimmrecht im Alter"
else
puts "#{age}Ich bin über 18 Jahre alt und habe daher das Wahlrecht"
end
end
downto wiederholt den Vorgang in Richtung einer Verringerung des Zahlenwerts. Führt die Verarbeitung von der angegebenen ersten Nummer 20 bis zur letzten Nummer 15 aus.
Nützlich, wenn die Endbedingungen festgelegt sind
while.rb
array = (1..100).to_a
sum = 0
i = 0
while sum < 1000
sum += array[i]
i += 1
end
sum #=> 1035
Während die Bedingung neben while wahr ist, wird der Vorgang während while-Ende wiederholt. Im obigen Code endet der Prozess, wenn die Gesamtwertsumme 1000 überschreitet.
Die till-Anweisung ist das Gegenteil der while-Anweisung und wiederholt den Vorgang, wenn die Bedingung falsch ist.
until.rb
array = (1..100).to_a
sum = 0
i = 0
until sum >= 1000
sum += array[i]
i += 1
end
sum #=> 1035
Der obige Code hat die gleiche Bedeutung wie while.rb.
Sie können eine Endlosschleife mit while true erstellen, aber Sie können sie einfacher mithilfe der Schleifenmethode erstellen.
loop.rb
numbers = [1, 2, 3, 4, 5, 6, 7]
loop do
n = numbers.sample
puts n
break if n == 7
end
Es ist zweckmäßig, die Methode / Syntax zu verwenden, die für die iterative Verarbeitung verwendet wird, die dem Fall entspricht.
Eine Einführung in Ruby für diejenigen, die Profis werden wollen Junichi Ito [Autor]
Recommended Posts