Rubin - Iteratoren
Iteratoren sind nichts anderes als Methoden, die von Sammlungen unterstützt werden . Objekte, die eine Gruppe von Datenelementen speichern, werden als Sammlungen bezeichnet. In Ruby können Arrays und Hashes als Sammlungen bezeichnet werden.
Iteratoren geben alle Elemente einer Sammlung nacheinander zurück. Wir werden hier jeweils zwei Iteratoren diskutieren und sammeln . Schauen wir uns diese im Detail an.
Ruby jeden Iterator
Jeder Iterator gibt alle Elemente eines Arrays oder eines Hash zurück.
Syntax
collection.each do |variable|
code
end
Führt Code für jedes Element in der Sammlung aus . Hier kann die Sammlung ein Array oder ein Ruby-Hash sein.
Beispiel
#!/usr/bin/ruby
ary = [1,2,3,4,5]
ary.each do |i|
puts i
end
Dies führt zu folgendem Ergebnis:
1
2
3
4
5
Sie ordnen jedem Iterator immer einen Block zu. Es gibt jeden Wert des Arrays einzeln an den Block zurück. Der Wert wird in der Variablen gespeicherti und dann auf dem Bildschirm angezeigt.
Ruby sammelt Iterator
Die collect Iterator gibt alle Elemente einer Sammlung.
Syntax
collection = collection.collect
Die Erfassungsmethode muss nicht immer einem Block zugeordnet sein. Die Methode collect gibt die gesamte Sammlung zurück, unabhängig davon, ob es sich um ein Array oder einen Hash handelt.
Beispiel
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = Array.new
b = a.collect
puts b
Dies führt zu folgendem Ergebnis:
1
2
3
4
5
NOTE- Die Collect- Methode ist nicht der richtige Weg, um zwischen Arrays zu kopieren. Es gibt eine andere Methode namens Klon , mit der ein Array in ein anderes Array kopiert werden sollte.
Normalerweise verwenden Sie die Methode collect, wenn Sie mit jedem der Werte etwas tun möchten, um das neue Array abzurufen. Beispielsweise erzeugt dieser Code ein Array b, das das 10-fache jedes Wertes in a enthält .
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
Dies führt zu folgendem Ergebnis:
10
20
30
40
50