Откровение всегда истинно. Ошибочной бывает интерпретация (Авессалом Подводный).

Ruby – Итераторы

1 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
17 августа 2018
Как написать первую программу на Ruby
Итераторы – это не что иное, как методы, поддерживаемые коллекциями. Объекты, которые хранят группу элементов данных, называются коллекциями. В Ruby массивы и хеши можно назвать коллекциями.

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

Ruby. Итератор each

Итератор each возвращает все элементы массива или хэш.

Синтаксис

collection.each do |variable|
   code
end

 

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

Пример

#!/usr/bin/ruby

ary = [6,7,8,9,10]
ary.each do |i|
   puts i
end

 

Это приведет к следующему результату:

6
7
8
9
10

 

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

Ruby. Итератор collect

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

Синтаксис

collection = collection.collect

 

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

Пример

#!/usr/bin/ruby

a = [6,7,8,9,10]
b = Array.new
b = a.collect
puts b

 

Это приведет к следующему результату:

6
7
8
9
10

 

Совет
Метод collect не подходит для копирования между массивами. Существует еще один метод, называемый clone, который должен использоваться для копирования одного массива в другой массив.

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

#!/usr/bin/ruby

a = [6,7,8,9,10]
b = a.collect{|x| 10*x}
puts b

 

Это приведет к следующему результату:

60
70
80
90
100

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 22

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close