Evgenii Legotckoi
29 июня 2016 г. 12:51

RubyUser Guide #18 - Ruby - процедурные объекты

procedure objects, Ruby, ruby lesson, ruby уроки, user guide, процедурные объекты, руководство пользователя

Часто бывает так, что хотелось бы иметь возможность указать ответные действия на неожиданные события. Как выясняется, легче всего это сделать, если мы сможем передать блок кода в качестве аргумента другому методу, что означает, что мы хотим рассматривать код в качестве …

Читать
Evgenii Legotckoi
28 июня 2016 г. 12:49

RubyUser Guide #17 - Ruby - модули

modules, Ruby, ruby lesson, ruby уроки, user guide, модули, руководство пользователя

Модули в Ruby похожи на классы, за исключением того, что:

  • Модуль не может иметь экземпляров
  • Модуль не может иметь подклассов
  • Модуль определяется между операторами module ... end

Действительно... класс модуля некоего модуля является суперклассом класса класса некоего класс. Понятно? Нет? …

Читать
Evgenii Legotckoi
27 июня 2016 г. 12:47

RubyUser Guide #16 - Ruby - Singleton методы

method, Ruby, ruby lesson, ruby уроки, singleton, user guide, руководство пользователя

Поведение экземпляра класса определяется его методом, но бывают случаи, когда мы знаем, что определённый экземпляр должен иметь особое поведение. В большинстве языков, мы должны решить эту проблему определением другого класса, который будет инстанцирован один раз. В Ruby же мы можем …

Читать
Evgenii Legotckoi
27 июня 2016 г. 12:43

RubyUser Guide #15 - Ruby - контроль доступа

access control, Ruby, ruby lesson, ruby уроки, user guide, контроль доступа, руководство пользователя

Недавно, мы говорили, что Ruby не имеет функций, только методы. Однако имеется более, чем один вид методов. В этой главе мы ознакомимся с контролем доступа.

Рассмотрим, что происходит, когда мы определяем метод на верхнем уровне, не внутри определения класса. Мы …

Читать
Evgenii Legotckoi
27 июня 2016 г. 12:41

RubyUser Guide #14 - Ruby - переопределение методов

Ruby, ruby lesson, ruby уроки, user guide, переопределение методов, руководство пользователя

В подклассе, мы можем изменить поведение экземпляров класс переопределив методы суперкласса.

  1. ruby> class Human
  2. | def identify
  3. | print "I'm a person.\n"
  4. | end
  5. | def train_toll(age)
  6. | if age < 12
  7. | print "Reduced fare.\n";
  8. | else
  9. | print
Читать
Evgenii Legotckoi
27 июня 2016 г. 12:38

RubyUser Guide #13 - Ruby - наследование

Inheritance, Ruby, ruby lesson, ruby уроки, user guide, наследование, руководство пользователя

Наша классификация объектов в каждом дне жизни является на самом деле иерархической. Мы знаем, что все кошки млекопитающие, а все млекопитающие являются животными. Наименьшие классы наследуют характеристики из больших классов, к которым они принадлежат. Если все млекопитающие дышат, то все …

Читать
Evgenii Legotckoi
26 июня 2016 г. 12:36

RubyUser Guide #12 - Ruby - классы

class, Ruby, ruby lesson, ruby уроки, user guide, класс, руководство пользователя

Реальный мир наполнен объектами, и мы можем классифицировать их. Например, очень маленький ребёнок, вероятно, скажет "гав-гав", когда увидит собаку, независимо от породы; мы же на самом деле видим мир в терминах категорий.

В терминологии  объектно-ориентированного программирования категория объекта "dog" называется …

Читать
Evgenii Legotckoi
26 июня 2016 г. 12:34

RubyUser Guide #11 - Ruby - методы

methods, Ruby, ruby lesson, ruby уроки, user guide, методы, руководство пользователя

Что является методом? В Объектно-ориентированном программировании мы не оперируем данными непосредственно извне, скорее объект имеет некоторое представление о том, как оперировать ими (когда его хорошо попросят). Вы можете сказать, что мы передаём сообщение в объект, и эти сообщения, как правило, …

Читать
Evgenii Legotckoi
26 июня 2016 г. 12:24

RubyUser Guide #10 - Ruby - Объектно-ориентированное мышление

Ruby, ruby lesson, ruby уроки, user guide, ооп, руководство пользователя

Объектно-ориентированный является очень броской фразой. Называя что-либо объектно-ориентированным, вы можете звучать весьма умно. Ruby позиционирует себя как объектно-ориентированный язык сценариев, но что на самом деле означает "объектно-ориентированный"?

Имеется множество вариантов ответов на этот вопрос, все из которых, вероятно, сводятся к …

Читать
Evgenii Legotckoi
25 июня 2016 г. 12:22

RubyUser Guide #09 - Ruby - итераторы

interators, Ruby, ruby lesson, ruby уроки, user guide, итераторы, руководство пользователя

Итераторы не являются оригинальной концепцией в Ruby. Они являются обычным явлением в объектно-ориентированных языках. Также используются в Lisp, хотя они и не называются итераторами. Однако концепция итераторов является незнакомой для многих, поэтому должна быть объяснена более детально.

Глагол iterate означает …

Читать