» Главная
eXcode.ru » Статьи » Ruby
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 9





Ведущий раздела: MadvEX
Описание: Ruby -- "простой объектно- ориентированный язык". Сначала это может показаться несколько странным, но он был спроектирован таким образом, чтобы программы на Ruby было легко и читать и писать. Это Руководство пользователя поможет вам научиться запускать и использовать Ruby, а также даст вам понимание природы Ruby, которое вы можете и не получить, прочитав Reference Manual.


Подразделы:

Учебник по языку Ruby (12)

«1» «2» «3» «4» «5» 

Инициализация объектов в ruby
В нашем классе Fruit из предыдущей главы есть @-переменные: первая описывает вид фрукта, вторая - его состояние. Только после написания своего специализированного метода inspect для этого класса, мы осознали, что для любого фрукта отсутствие заданных характеристик бессмысленно. К счастью, в Ruby есть способ гарантировать, что @-переменные всегда будут инициализированы.


Аксессоры в ruby
Мы кратко обсудили @-переменные в предшествующих главах, но мало поэкспериментировали с ними. @-переменные объекта являются его атрибутами, тем, что обычно отличает его от других объектов этого же класса. Важно иметь возможность задавать и считывать значения атрибутов; для этого необходимо написание методов, называемых аксессорами атрибутов. Через мгновение мы увидим, что не всегда нужно явное задание аксессоров, но давайте сейчас полностью пройдем по этому пути. Есть два вида аксессоров - writers и readers.


Обработка исключительных ситуаций: ensure
Иногда бывает нужна очистка по завершении работы некоторого метода. Возможно, должен быть закрыт открытый файл, буферизованные данные должны быть сброшены, и т.п., etc. Если бы существовала только одна точка выхода из метода, мы могли бы уверенно поместить код очистки в одно место и быть уверены, что он будет выполнен; однако возврат из метода может происходить из нескольких точек, или наша очистка может быть пропущена из-за возникновения исключения.


Обработка исключительных ситуаций: rescue
При выполнении программы могут возникать непредвиденные проблемы. Файл, который нужно прочитать, может не существовать; диск может оказаться полным в момент записи данных; пользователь может некорректно ввести данные.


Константы класса в ruby
Имя константы начинается с латинской буквы верхнего регистра. значение ей должно присваиваться максимум один раз. В текущей реализации Ruby повторное присваивание значения константе вызывает предупреждение, но не ошибку (не-ANSI версия eval.rb не показывает предупреждения)


Локальные переменные в ruby
Имя локальной переменной должно начинаться с латинской буквы в нижнем регистре или символа подчеркивания (_). Локальная переменная, в отличие от глобальной или @-переменной не содержит значение nil до инициализации


Переменные экземпляра класса ruby
Переменные экземпляра класса имеют имена, начинающиеся с @, и область их действия ограничена тем, на что можно сослаться, используя self. Два разных объекта, даже если они являются объектами одного и того же класса, могут иметь разные значения в своих переменные экземпляра класса (@-переменные). Снаружи объекта его @-переменные не могут быть не только изменены, но даже и просмотрены (т.е. в Ruby @-переменные никогда не являются public), за исключением случаев, когда это явно определено программистом. Как и в случае глобальных переменных, @-переменные содержат значение nil если они не были инициализированы.


Глобальные переменные в ruby
Имя глобальной переменной начинается с $. оно может быть использовано в любом месте программы. До инициализации глобальная переменная содержит специальное значение nil.


Переменные в ruby
В Ruby существуют три вид переменных, один вид констант и точно две псевдо-переменные. Переменные и константы не имеют типа. Хотя у нетипизированных переменных есть некоторые недостатки, они имеют больше преимуществ и хорошо вписываются в философию Ruby быстро и просто.



Процедурные объекты ruby
Часто необходимо обеспечить реакцию системы на нестандартное событие. Когда оно происходит, проще всего это сделать если мы можем передать блок кода в качестве аргумента другому методу, что означает, что мы хотим интерпретировать код как если бы это были данные.


«1» «2» «3» «4» «5» 

Имя:

Пароль:



Регистрация

Какую P2P-сеть предпочитаете?
Kazaa
6% (7)
Shareaza
2% (3)
Ml'Donkey
9% (11)
BitTorrent
21% (27)
Другой
8% (10)
А что такое P2P?
21% (27)
Ничем не пользуюсь
28% (35)
Ненавижу P2P!!!
6% (7)

Проголосовало: 127
Школьный учитель спрашивает учеников о профессии родителей.
- Тим, чем твоя мама занимается на работе?
Тим встает и гордо говорит:
- Она - доктор.
- Замечательно, ну как насчет тебя, Эмми?
Девочка стеснительно произносит:
- Мой папа разносит почту.
- Спасибо, Эмми, - говорит учитель. - Ну, а твои родители что делают, Билл? Билл гордо встает и объявляет:
- Мой папа играет музыку в борделе!
Обалдевший учитель решил направиться к Биллу домой.
- В каких условиях вы растите ребенка? - спрашивает он у отца.
Тот отвечает:
- Вообще-то я программист и специализируюсь на TCP/IP коммуникационном протоколе в системе UNIX. Ну как объяснить это семилетнему пацану?
Рейтинг: 1.5/10 (6)
Посмотреть все анекдоты