Шрифт:
Также из таблицы 1.2 осталось неясным, что циклы не всегда выполняются от начала до конца. Число итераций не всегда предсказуемо. Нужны дополнительные средства управления циклами.
Первое из них — ключевое слово
Ключевое слово
Ключевое слово
Ключевое слово
Как мы только что видели, итератор — важное понятие в Ruby. Но следует отметить, что язык позволяет определять и пользовательские итераторы, не ограничиваясь встроенными.
Стандартный итератор для любого объекта называется
В качестве примера рассмотрим многоцелевой итератор, который имитирует цикл с проверкой условия в конце (как в конструкции
В этом примере ключевое слово
С помощью
Отметим, что вместо фигурных скобок, в которые заключен блок, можно написать ключевые слова
1.2.7. Исключения
Как и многие другие современные языки, Ruby поддерживает исключения.
Исключения — это механизм обработки ошибок, имеющий существенные преимущества по сравнения с прежними подходами. Нам удается избежать возврата кодов ошибок и запутанной логики их анализа, а код, который обнаруживает ошибку, можно отделить от кода, который ее обрабатывает (чаще всего они так или иначе разделены).
Предложение
В первом примере повторно возбуждается последнее встретившееся исключение. В примере 2 создается исключение
В примере 3 возбуждается исключение типа