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

Поділитись