Учебники

Ruby — Итераторы

Итераторы — это не что иное, как методы, поддерживаемые коллекциями . Объекты, которые хранят группу элементов данных, называются коллекциями. В Ruby массивы и хэши можно назвать коллекциями.

Итераторы возвращают все элементы коллекции, один за другим. Мы будем обсуждать два итератора здесь, каждый и собирать . Давайте посмотрим на это подробно.

Руби каждый итератор

Каждый итератор возвращает все элементы массива или хеша.

Синтаксис

collection.each do |variable|
   code
end

Выполняет код для каждого элемента в коллекции . Здесь коллекция может быть массивом или хэшем ruby.

пример

Live Demo

#!/usr/bin/ruby

ary = [1,2,3,4,5]
ary.each do |i|
   puts i
end

Это даст следующий результат —

1
2
3
4
5

Вы всегда связываете каждый итератор с блоком. Он возвращает каждое значение массива, одно за другим, в блок. Значение сохраняется в переменной i и затем отображается на экране.

Ruby собирать итератор

Итератор сбора возвращает все элементы коллекции.

Синтаксис

collection = collection.collect

Метод сбора не всегда должен быть связан с блоком. Метод collect возвращает всю коллекцию независимо от того, является ли она массивом или хэшем.

пример

#!/usr/bin/ruby

a = [1,2,3,4,5]
b = Array.new
b = a.collect
puts b

Это даст следующий результат —

1
2
3
4
5

ПРИМЕЧАНИЕ. — Метод сбора данных не является правильным способом копирования между массивами. Существует еще один метод, называемый клоном , который следует использовать для копирования одного массива в другой.

Обычно вы используете метод collect, когда хотите что-то сделать с каждым из значений, чтобы получить новый массив. Например, этот код создает массив b, содержащий 10 раз каждое значение в a .

Live Demo

#!/usr/bin/ruby

a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b

Это даст следующий результат —