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