Тут можно читать онлайн книгу Фултон Хэл - Программирование на языке Ruby - бесплатно полную версию (целиком). Жанр книги: Программирование. Вы можете прочесть полную версию (весь текст) онлайн без регистрации и смс на сайте Lib-King.Ru (Либ-Кинг) или прочитать краткое содержание, аннотацию (предисловие), описание и ознакомиться с отзывами (комментариями) о произведении.
Программирование на языке Ruby - описание и краткое содержание, автор Фултон Хэл, читать бесплатно онлайн на сайте электронной библиотеки Lib-King.Ru.
Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии. Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.
Программирование на языке Ruby - читать книгу онлайн бесплатно, автор Фултон Хэл
Необходимо оговориться, что операции
loadrequireloadrequireloadПрограммисты, только начинающие осваивать Ruby, особенно имеющие опыт работы с языком С, могут поначалу путать операции
requireincluderequireinclude1.3.4. Создание классов
В Ruby есть множество встроенных классов, и вы сами можете определять новые. Для определения нового класса применяется такая конструкция:
class ClassName# ...endСамо имя класса - это глобальная константа, поэтому оно должно начинаться с прописной буквы. Определение класса может содержать константы, переменные класса, методы класса, переменные экземпляра и методы экземпляра. Данные уровня класса доступны всем объектам этого класса, тогда как данные уровня экземпляра доступны только одному объекту
Попутное замечание: строго говоря, классы в Ruby не имеют имен. «Имя» класса — это всего лишь константа, ссылающаяся на объект типа
ClassClassClassВот как определяется простой класс:
class Friend @@myname = "Эндрю" # переменная класса def initialize(name, sex, phone) @name, @sex, @phone = name, sex, phone # Это переменные экземпляра end def hello # метод экземпляра puts "Привет, я #{@name}." end def Friend.our_common_friend # метод класса puts "Все мы друзья #{@@myname}." endendf1 = Friend.new("Сюзанна","F","555-0123")f2 = Friend.new("Том","M","555-4567")f1.hello # Привет, я Сюзанна.f2.hello # Привет, я Том.Friend.our_common_friend # Все мы друзья Эндрю.Поскольку данные уровня класса доступны во всем классе, их можно инициализировать в момент определения класса. Если определен метод с именем
initializenewТеперь взгляните на следующий фрагмент, обращая особое внимание на методы
getmyvarsetmyvarmyvar=class MyClass NAME = "Class Name" # константа класса @@count = 0 # инициализировать переменную класса def initialize # вызывается после выделения памяти для объекта @@count += 1 @myvar = 10 end def MyClass.getcount # метод класса @@count # переменная класса end def getcount # экземпляр возвращает переменную класса! @@count # переменная класса end def getmyvar # метод экземпляра @myvar # переменная экземпляра end def setmyvar(val) # метод экземпляра устанавливает @myvar @myvar = val end def myvar=(val) # другой способ установить @myvar @myvar = val endendfoo = MyClass.new # @myvar равно 10foo.setmyvar 20 # @myvar равно 20foo.myvar =30 # @myvar равно 30Здесь мы видим, что
getmyvar@myvarsetmyvarmyvar=setmyvarКласс
Moduleattrattr_accessorattr_readerattr_writergetmyvarsetmyvarmyvar=