Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dynamic Ruby. Lesson #1: Object model

392 views

Published on

Первая лекция из цикла, посвященного метапрограммированию на языке Ruby.

Published in: Software
  • Be the first to comment

Dynamic Ruby. Lesson #1: Object model

  1. 1. LESSON 1: RUBY OBJECT MODEL DYNAMIC RUBY
  2. 2. Абстракция, описывающая обособленную группу объектов, обладающими общими свойствами. Экземпляр класса, некоторая конечная реализация данной абстракции. CLASS OBJECT
  3. 3. MEME AS EXAMPLE OF CLASS-OBJECT CONCEPT Воруй Абстрактный мем Конкретный мем Убивай
  4. 4. В Ruby каждый класс является так же и объектом. Объектом специального класса Class.
  5. 5. RUBY CLASS HIERARCHY
  6. 6. CLASS AS AN OBJECT
  7. 7. CLASS AS OBJECT
  8. 8. CLASS VARIABLES VS CLASS INSTANCE VARIABLES
  9. 9. CLASS VARIABLES VS CLASS INSTANCE VARIABLES
  10. 10. CLASS VARIABLES VS CLASS INSTANCE VARIABLES [UPDATED]
  11. 11. CLASS METHODS VS CLASS INSTANCE METHODS
  12. 12. CLASS METHODS VS CLASS INSTANCE METHODS
  13. 13. SINGLETON METHODS AND SINGLETON CLASSES
  14. 14. Singleton method это метод, который определен исключительно для одного конкретного объекта.
  15. 15. SINGLETON METHODS
  16. 16. Так вот, т.н. class methods любого класса это и есть singleton methods конкретного экземпляра класса Class.
  17. 17. SINGLETON METHODS
  18. 18. M etaclass for Foo instance of Class class Foo class as an instance of Class class :another_foo instance #my_object_method Metaclass for :foo instance of Foo class Metaclass for :another_foo instance of Foo class :foo instance #my_special_object_method ::my_class_method
  19. 19. RUBY OBJECT MODEL REFERENCES ▸ http://www.devalot.com/articles/2008/09/ruby-singleton ▸ http://stackoverflow.com/a/10560958 ▸ https://habrahabr.ru/post/143990/
  20. 20. THANK YOU! Alex Mikitenko nonkor@gmail.com https://github.com/nonkor
  21. 21. TO BE CONTINUED…

×