Программирование на языке Ruby
Шрифт:
Обратите внимание, что переменная x, которой присвоено значение 1, — это новая переменная, определенная на верхнем уровне. Она не совпадает с одноименной переменной, определенной внутри блока. Замыкание печатает 5, так как запоминает контекст своего создания, в котором была определена переменная
• Переменные с именами, начинающимися с одного символа
Переменная экземпляра класса (
•
• Присваивание переменной, имя которой содержит оператор разрешения области видимости, недопустимо. Например,
1.5.5. Ориентация на выражения и прочие вопросы
В Ruby выражения важны почти так же, как предложения. Для программиста на С это звучит знакомо, а для программиста на Pascal — откровенная нелепость. Но Ruby ориентирован на выражения даже в большей степени, чем С.
Заодно в этом разделе мы остановимся на паре мелких вопросов, касающихся регулярных выражений; считайте это небольшим бонусом.
• В Ruby любое присваивание возвращает то же значение, которое стоит в правой части. Поэтому иногда мы можем немного сократить код, как показано ниже, но будьте осторожны, имея дело с объектами! Не забывайте, что это почти всегда ссылки.
Напомним однако, что значения типа
• Многие управляющие конструкции возвращают значения, в частности
Здесь мы сделали такие отступы, будто
• Отметим, что циклы
• Тернарный оператор можно использовать как в предложениях, так и в выражениях. В силу синтаксических причин (или ограничений анализатора) скобки здесь обязательны:
• Предложение
• Когда итератор вызывается с блоком, последнее выражение, вычисленное в блоке, возвращается в качестве значения блока. Если при этом в теле итератора есть предложение
• Регулярные выражения. Напомним, что после регулярного выражения можно написать модификатор многострочности
• Регулярные выражения. Опасайтесь соответствий нулевой длины. Если все элементы регулярного выражения необязательны, то такому образцу будет соответствовать «ничто», причем соответствие всегда будет найдено в начале строки. Это типичная ошибка, особенно часто ее допускают новички.
1.6. Жаргон Ruby
Заново начинать учить английский для освоения Ruby необязательно. Но нужно знать кое-какие жаргонные выражения, обычные в сообществе. Некоторые из них имеют другой смысл, чем принято в компьютерном мире. Им и посвящен настоящий раздел.
В Ruby термин «атрибут» носит неофициальный характер. Можно считать, что атрибут — это переменная экземпляра, которая раскрывается внешнему миру с помощью одного из методов семейства
Инквизитор Тьмы
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Лекарь Империи 8
8. Лекарь Империи
Фантастика:
попаданцы
городское фэнтези
аниме
рейтинг книги
Двойник Короля 2
2. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Бандит
1. Петр Синельников
Фантастика:
фэнтези
рейтинг книги
Геном хищника. Книга третья
3. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
рейтинг книги
Старый, но крепкий 4
4. Культивация без насилия
Фантастика:
уся
фэнтези
рейтинг книги
Бастард Императора. Том 4
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Деревенщина в Пекине
1. Пекин
Фантастика:
попаданцы
дорама
фантастика: прочее
рейтинг книги
Путь Шедара
4. Другая сторона
Фантастика:
боевая фантастика
рейтинг книги
На границе империй. Том 5
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
рейтинг книги
Убивая маску
13. Унесенный ветром
Фантастика:
боевая фантастика
рейтинг книги
Как я строил магическую империю
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Гримуар темного лорда VII
7. Гримуар темного лорда
Фантастика:
боевая фантастика
попаданцы
аниме
фэнтези
рейтинг книги
Возлюби болезнь свою
Научно-образовательная:
психология
рейтинг книги