Skip to content

Instantly share code, notes, and snippets.

@mattyoho
Created September 4, 2009 14:12
Show Gist options
  • Save mattyoho/180903 to your computer and use it in GitHub Desktop.
Save mattyoho/180903 to your computer and use it in GitHub Desktop.
irb(main):054:0> class Cat
irb(main):055:1> def eigen
irb(main):056:2> class << self
irb(main):057:3> self
irb(main):058:3> end
irb(main):059:2> end
irb(main):060:1> end
=> nil
irb(main):061:0> c1 = Cat.new
=> #<Cat:0x1017562d0>
irb(main):062:0> c2 = Cat.new
=> #<Cat:0x1017526d0>
irb(main):063:0> c1.class
=> Cat
irb(main):064:0> c1.eigen
=> #<Class:#<Cat:0x1017562d0>> <-- An instance of class Cat, subtyped from class Class
irb(main):065:0> c2.class
=> Cat
irb(main):066:0> c2.eigen
=> #<Class:#<Cat:0x1017526d0>>
irb(main):067:0> c1.class == c2.class
=> true
irb(main):068:0> c1.eigen == c2.eigen
=> false
irb(main):069:0> c1.kind_of? Cat
=> true
irb(main):070:0> c1.kind_of? c1.eigen
=> true
irb(main):071:0> c1.kind_of? c2.eigen
=> false
irb(main):072:0> c2.kind_of? Cat
=> true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment