Voodoo é pra Jacu - Entendendo metaprogramação em ruby

2,565 views
2,282 views

Published on

Entendendo, de verdade, como funciona metaprogramação em ruby e desmistificando o que normalmente chamam de magia negra.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,565
On SlideShare
0
From Embeds
0
Number of Embeds
417
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Voodoo é pra Jacu - Entendendo metaprogramação em ruby

    1. 1. Voodoo é pra jacu! metaprogramação em ruby Leonardo Bessa David Paniz leonardo.bessa@caelum.com.br david.paniz@caelum.com.br www.davidpaniz.com
    2. 2. Que horas são?
    3. 3. ## horario.java [java] System.currentTimeMillis(); new Date(); ## horario.rb [ruby] Time.now Date.today
    4. 4. Quero voltar ao dia 12/11/1955...
    5. 5. Time.now 12/11/1955 "Eu inventei o capacitor de fluxo" Doc (Brown)
    6. 6. "I invented the term Object- Oriented, and I can tell you I did not have C++ in mind." - Alan Kay
    7. 7. class
    8. 8. class
    9. 9. Criação de métodos • Que tipo de objeto pode definir um método? • Eu realmente posso adicionar um método a um único objeto? • Onde o método está? • Como eu faria em java?
    10. 10. Singleton Class • Também conhecidas como Metaclass, Eigenclass, etc • É uma classe como outra qualquer, mas escondida • Existe uma para cada objeto (lazy)
    11. 11. Qual é a Singleton Class class << self self end
    12. 12. Qual é a Singleton Class class Object def singleton_class class << self self end end end

    ×