Программирование на языке Ruby
Шрифт:
• Не путайте операторы диапазона
• С диапазонами связана одна мелкая деталь, которая может вызвать путаницу. Если дан диапазон
• Не путайте диапазоны с массивами. Следующие два присваивания абсолютно различны:
Однако есть удобный метод
• Часто бывает необходимо присвоить переменной значение лишь в том случае, когда у нее еще нет никакого значения. Поскольку «неприсвоенная» переменная имеет значение
• В большинстве языков для обмена значений двух переменных нужна дополнительная временная переменная. В Ruby наличие механизма множественного присваивания делает ее излишней: выражение
• Четко отличайте класс от экземпляра. Например, у переменной класса
• Аналогично метод класса ассоциирован с тем классом, в котором определен; он не принадлежит никакому конкретному объекту и не может вызываться от имени объекта. При вызове метода класса указывается имя класса, а при вызове метода экземпляра - имя объекта.
• В публикациях, посвященных Ruby, часто для обозначения метода экземпляра применяют решеточную нотацию. Например, мы пишем
• В Ruby константы не являются истинно неизменными. Их нельзя изменять в теле методов экземпляра, но из других мест это вполне возможно.
• Ключевое слово
• Составные операторы присваивания
• Из-за того, как определены составные операторы присваивания, их нельзя использовать для инициализации переменных. Если первое обращение к переменной
• Такое поведение можно в некотором смысле обойти. Можно определить операторы для объекта
Мы привели этот код для иллюстрации возможностей Ruby, но стоит ли поступать так на практике, оставляем на усмотрение читателя.
• Уместно будет напомнить, что
• Некоторые операторы нельзя перегружать, потому что они встроены в сам язык, а не реализованы в виде методов. К таковым относятся
• Имейте в виду, что хотя оператор присваивания перегружать нельзя, тем не менее возможно написать метод экземпляра с именем
• Напомним: «голый» оператор разрешения области видимости подразумевает наличие
• Как уже говорилось,
• Напомним, что определения в Ruby исполняются. Вследствие динамической природы языка можно, например, определить два метода совершенно по-разному в зависимости от значения признака, проверяемого во время выполнения.
• Напомним, что конструкция
• Не забывайте, что метод, определенный на верхнем уровне, добавляется в модуль
• Методы установки (например,
• Напомним, что ключевое слово
• Ключевое слово
Эволюционер из трущоб. Том 12
12. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Неожиданность
Фантастика:
альтернативная история
рейтинг книги
Бастард
1. Последняя жизнь
Фантастика:
фэнтези
героическая фантастика
попаданцы
рейтинг книги
Вечный. Книга II
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
рейтинг книги
Обломов
Проза:
классическая проза
русская классическая проза
рейтинг книги
Неучтенный элемент. Том 10
10. Антимаг. Вне системы
Фантастика:
фэнтези
рейтинг книги
AutoCAD 2009
Видеосамоучитель
Компьютеры и Интернет:
программное обеспечение
рейтинг книги
Кодекс Охотника. Книга XXXII
32. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Гримуар темного лорда II
2. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Экспансия — II
11. Штирлиц
Детективы:
исторические детективы
рейтинг книги
Сатанизм для интеллигенции
Научно-образовательная:
религиоведение
рейтинг книги