Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Ruby's Object Model: Metaprogramming and other Magic

on

  • 23,848 views

My talk from Winnipeg.rb 2010-10

My talk from Winnipeg.rb 2010-10

Statistics

Views

Total Views
23,848
Views on SlideShare
18,625
Embed Views
5,223

Actions

Likes
62
Downloads
605
Comments
4

61 Embeds 5,223

http://www.rubyinside.com 3595
http://prod.staging.translationzone.com 269
http://staging.sdl.com 264
http://coderwall.com 178
http://staging1.sdl.com 161
http://www.ussherpress.com 75
http://acc.live.sdl.com 63
http://swik.net 51
http://sdlwebdevcd.ams.dev:89 48
http://static.slidesharecdn.com 42
http://staging1.translationzone.com 40
http://rubyusergroup.blogspot.com 40
http://localhost:9991 38
http://dev.staging.sdl.com 34
http://prod.staging.sdl.com 33
http://www.sdl.com 33
http://sdlwebdevcd.ams.dev:1001 33
http://live1.translationzone.com 20
http://sdlwebdevcd.ams.dev:1012 19
http://localhost:9989 17
http://live1.sdl.com 14
http://localhost:9999 13
http://beta.translationzone.com 12
http://sdlwebdevcd.ams.dev:1002 10
http://localhost:9981 10
http://sdlwebdevcd.ams.dev 9
http://feeds.feedburner.com 8
http://acc.live.translationzone.com 8
http://lr.sdl.com 8
http://www.translationzone.com 8
http://54.241.181.205 7
http://sdlwebdevcd.ams.dev:2003 6
http://sdlwebdevcd.ams.dev:1011 5
http://dev.staging.translationzone.com 4
http://localhost:1001 4
http://localhost:9971 4
http://display.engagesciences.com 3
http://bgror.com 3
http://54.193.121.97 3
http://sdlwebdevcd.ams.dev:1003 2
https://twimg0-a.akamaihd.net 2
http://translationzone.com 2
http://www.pearltrees.com 2
http://rubyusergroup.blogspot.fr 2
http://www.netvibes.com 2
https://si0.twimg.com 2
http://readbox.info 2
https://twitter.com 2
http://sdlwebdevcd.ams.dev:2001 1
http://webmail.myemailserv.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • There are some interesting corrections in the thread on reddit: http://www.reddit.com/r/ruby/comments/e0g1s/a_look_into_rubys_object_model/c14d0xq
    Are you sure you want to
    Your message goes here
    Processing…
  • @Alexandr It made more sense when I was explaining this in person, but I was trying to contrast two different methods that ruby _could_ have used to implement modules. I sort of explained some of the consequences of copying a module at include time, and why that's a bad idea. Slide 44 explains the other possible method, and the way ruby actually does it.
    Are you sure you want to
    Your message goes here
    Processing…
  • hm... not supports formatting


    module M;def m()puts '1';end;end;
    class C;include M;end;
    module M;def m()puts '2';end;end;
    puts C.new.m
    Are you sure you want to
    Your message goes here
    Processing…
  • What does it mean?
    p43 '... saves a snapshot of the module at time of include'

    1 module M
    2 def m
    3 puts '1'
    4 end
    5 end
    6
    7 class C
    8 include M
    9 end
    10
    11
    12 module M
    13 def m
    14 puts '2'
    15 end
    16 end
    17
    18
    19 C.new.m

    => 2
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Ruby's Object Model: Metaprogramming and other Magic Ruby's Object Model: Metaprogramming and other Magic Presentation Transcript