Ruby → User Guide #28 - Ruby - Фишки
Ruby, ruby lesson, ruby уроки, user guide, руководство пользователя
Эта глава посвящена некоторым практическим приемам.
Разделители выражений
В некоторых языках необходимо соблюдение некоторых правил пунктуации; часто используется точка с запятой (
), для обозначения окончания выражения в программе. Ruby вместо этого следует соглашениям, используемым в шеллах, таких как …
- ;
Ruby → User Guide #27 - Ruby - Инициализация объектов
Ruby, ruby lesson, ruby уроки, user guide, руководство пользователя
В нашем классе Fruit из предыдущей главы есть @-переменные: первая описывает вид фрукта, вторая - его состояние. Только после написания своего специализированного метода
для этого класса, мы осознали, что для любого фрукта отсутствие заданных характеристик бессмысленно. К счастью, в …
- inspect
Ruby → User Guide #26 - Ruby - Аксессоры
Ruby, ruby lesson, ruby уроки, user guide, руководство пользователя
Что такое аксессор?
Мы кратко обсудили @-переменные в предшествующих главах, но мало поэкспериментировали с ними. @-переменные объекта являются его атрибутами, тем, что обычно отличает его от других объектов этого же класса. Важно иметь возможность задавать и считывать значения атрибутов; для …
Ruby → User Guide #25 - Ruby - Обработка исключительных ситуаций: ensure
Ruby, ruby lesson, ruby уроки, user guide, руководство пользователя
Иногда бывает нужна очистка по завершении работы некоторого метода. Возможно, должен быть закрыт открытый файл, буферизованные данные должны быть сброшены, и т.п., etc. Если бы существовала только одна точка выхода из метода, мы могли бы уверенно поместить код очистки в …
Ruby → User Guide #24 - Ruby - Обработка исключительных ситуаций: rescue
Ruby, ruby lesson, ruby уроки, user guide, руководство пользователя
При выполнении программы могут возникать непредвиденные проблемы. Файл, который нужно прочитать, может не существовать; диск может оказаться полным в момент записи данных; пользователь может некорректно ввести данные.
- ruby> **file = open("some_file")**
- **ERR: (eval):1:in `open': No such file or directory - …
Ruby → User Guide #23 - Ruby - Константы класса
class, constants, Ruby, Ruby уроки, user guide, руководство пользователя
Константа имеет имя, начинающееся с латинской буквы в верхнем регистре. Значение константе присваивается только один раз при инициализации. В текущей реализации Ruby повторное присваивание значения константе вызывает предупреждение, но не ошибку (не-ANSI версия eval.rb не показывает предупреждения):
- ruby>fluid=30
- 30
- ruby>fluid=31 …
Ruby → User Guide #22 - Ruby - Локальные переменные
local variables, Ruby, ruby lesson, ruby уроки, user guide, локальные переменные, руководство пользователя
Локальные переменные имеют имя, начинающееся с символа нижнего подчёркивания или буквы в нижнем регистре. Локальные переменные работают не так, как глобальные переменные или переменные экземпляров классов, которые имеют значение nil до инициализации:
- ruby> $foo
- nil
- ruby> @foo
- nil
- ruby> foo …
Ruby → User Guide #21 - Ruby - переменные экземпляра класса
Instance variables, Ruby, ruby lesson, ruby уроки, user guide, переменные класса, руководство пользователя
Имена переменных класса начинаются с символа @, и их область применения ограничивается областью видимости внутри класса, то есть той областью, на которую можно сослаться, используя переменную self . Два различных объекта, даже если они относятся к одному класса, могут иметь …
Ruby → User Guide #20 - Ruby - глобальные переменные
global variables, Ruby, ruby lesson, ruby уроки, user guide, глобальные переменные, руководство пользователя
Глобальные переменные имеют имя, которое начинается с символа $ . Данная переменная может быть доступна из любого места программы. Перед инициализацией глобальная переменная имеет особое значение nil.
- ruby> $foo
- nil
- ruby> $foo = 5
- 5
- ruby> $foo
- 5
Глобальные переменные …
Ruby → User Guide #19 - Ruby - переменные
Ruby, ruby lesson, ruby уроки, user guide, variables, переменные, руководство пользователя
Ruby имеет три вида переменных, один вид констант и ровно две псевдо-переменных. Переменные и константы не имеют типов. Хотя нетипизированные переменные и имеют некоторые недостатки, в тоже время они имеют гораздо больше преимуществ и хорошо сочетаются с быстрой и простой …
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
- Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.