Ruby Итераторы
Проще говоря: итерация означает повторение одного и того же, поэтому итератор используется для многократного повторения одного и того же.
Итераторы — это методы, поддерживаемыеколлекциями. Объекты, которые хранят группу элементов данных, называются коллекциями. В Ruby массивы и хеши можно назвать коллекциями.
Итераторы возвращают все элементы коллекции один за другим. Здесь мы рассмотрим два итератора,eachиcollect。
Ruby eachИтераторы
Итератор each возвращает все элементы массива или хеша.
Синтаксис
являетсяколлекциейкаждый элемент в коллекции выполняеткод. Здесь коллекция может быть массивом или хешем.
Вывод приведенного выше примера:
1 2 3 4 5
eachИтератор всегда связан с блоком. Он возвращает каждое значение массива блоку, одно за другим. Значение сохраняется в переменнойiи затем отображается на экране.
Ruby collectИтераторы
collectИтератор возвращает все элементы коллекции.
Синтаксис
collectМетод не всегда должен быть связан с блоком.collectМетод возвращает всю коллекцию, будь то массив или хеш.
Примеры
Вывод приведенного выше примера:
1 2 3 4 5
Примечание:collectЭтот метод не является правильным способом копирования между массивами. Есть другой метод, называемыйclone, который используется для копирования одного массива в другой.
Когда вы хотите выполнить некоторую операцию над каждым значением, чтобы получить новый массив, вы обычно используете метод collect. Например, следующий код генерирует массив, значения которого в 10 раз больше каждого значения в a.
Вывод приведенного выше примера:
10 20 30 40 50Другие расширения