Тут можно читать онлайн книгу Фултон Хэл - Программирование на языке Ruby - бесплатно полную версию (целиком). Жанр книги: Программирование. Вы можете прочесть полную версию (весь текст) онлайн без регистрации и смс на сайте Lib-King.Ru (Либ-Кинг) или прочитать краткое содержание, аннотацию (предисловие), описание и ознакомиться с отзывами (комментариями) о произведении.
Программирование на языке Ruby - описание и краткое содержание, автор Фултон Хэл, читать бесплатно онлайн на сайте электронной библиотеки Lib-King.Ru.
Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии. Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.
Программирование на языке Ruby - читать книгу онлайн бесплатно, автор Фултон Хэл
Рассмотрим эти примеры более подробно. Циклы 1 и 2 — «стандартные» формы циклов
whileuntilbeginendwhileuntilНа мой взгляд, конструкции 3 и 4 — самый «правильный» способ кодирования циклов. Они заметно проще всех остальных: нет ни явной инициализации, ни явной проверки или инкремента. Это возможно потому, что массив «знает» свой размер, а стандартный итератор
eachforeachforeachВ циклах 5 и 6 используется конструкция
looploopKernelВ циклах 7 и 8 используется тот факт, что у массива есть числовой индекс. Итератор
timesuptoЦикл 9 — это вариант цикла
foreach_indexВ предыдущих примерах мы уделили недостаточно внимания вариантам циклов
whileloopperform_task() until finishedperform_task() while not finishedТакже из таблицы 1.2 осталось неясным, что циклы не всегда выполняются от начала до конца. Число итераций не всегда предсказуемо. Нужны дополнительные средства управления циклами.
Первое из них — ключевое слово
breakКлючевое слово
retrybegin-endforКлючевое слово
redoretrywhileuntilretryКлючевое слово
nextКак мы только что видели, итератор — важное понятие в Ruby. Но следует отметить, что язык позволяет определять и пользовательские итераторы, не ограничиваясь встроенными.
Стандартный итератор для любого объекта называется
eachforВ качестве примера рассмотрим многоцелевой итератор, который имитирует цикл с проверкой условия в конце (как в конструкции
do-whilerepeat-untildef repeat(condition) yield retry if not conditionendВ этом примере ключевое слово
yieldj=0repeat (j >= 10) do j += 1 puts jendС помощью
yielddef my_sequence for i in 1..10 do yield i endendmy_sequence {|x| puts x**3 }Отметим, что вместо фигурных скобок, в которые заключен блок, можно написать ключевые слова
doend1.2.7. Исключения
Как и многие другие современные языки, Ruby поддерживает исключения.
Исключения — это механизм обработки ошибок, имеющий существенные преимущества по сравнения с прежними подходами. Нам удается избежать возврата кодов ошибок и запутанной логики их анализа, а код, который обнаруживает ошибку, можно отделить от кода, который ее обрабатывает (чаще всего они так или иначе разделены).
Предложение
raiseraiseKernelfailraise # Пример 1raise "Произошла ошибка" # Пример 2raise ArgumentError # Пример 3