Ruby - Iteratory
Iteratory to nic innego jak metody obsługiwane przez kolekcje . Obiekty przechowujące grupę członków danych nazywane są kolekcjami. W Rubim tablice i skróty można nazwać kolekcjami.
Iteratory zwracają wszystkie elementy kolekcji, jeden po drugim. Omówimy tutaj dwa iteratory, każdy i zbieranie . Przyjrzyjmy się im szczegółowo.
Ruby każdy Iterator
Każdy iterator zwraca wszystkie elementy tablicy lub skrótu.
Składnia
collection.each do |variable|
code
end
Wykonuje kod dla każdego elementu w kolekcji . Tutaj kolekcja może być tablicą lub hashem ruby.
Przykład
#!/usr/bin/ruby
ary = [1,2,3,4,5]
ary.each do |i|
puts i
end
To da następujący wynik -
1
2
3
4
5
Zawsze kojarzysz każdy iterator z blokiem. Zwraca każdą wartość tablicy, jeden po drugim, do bloku. Wartość jest przechowywana w zmienneji a następnie wyświetlane na ekranie.
Iterator zbiera Ruby
W zbierać iteracyjnej zwraca wszystkie elementy kolekcji.
Składnia
collection = collection.collect
Metoda zbierania nie zawsze musi być powiązana z blokiem. Metoda collect zwraca całą kolekcję, niezależnie od tego, czy jest to tablica, czy hash.
Przykład
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = Array.new
b = a.collect
puts b
To da następujący wynik -
1
2
3
4
5
NOTE- Metoda zbierania nie jest właściwym sposobem kopiowania między tablicami. Istnieje inna metoda zwana klonem , której należy użyć do skopiowania jednej tablicy do innej.
Zwykle używasz metody collect, gdy chcesz zrobić coś z każdą z wartości, aby uzyskać nową tablicę. Na przykład ten kod tworzy tablicę b zawierającą 10 razy każdą wartość w a .
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
To da następujący wynik -
10
20
30
40
50