methods on a module’s singleton class

irb(main):001:0> module M
irb(main):002:1>   class << self
irb(main):003:2>     def foo
irb(main):004:3>       p "Hello from M.foo"
irb(main):005:3>     end
irb(main):006:2>   end
irb(main):007:1> end
=> nil
irb(main):008:0> M.foo
"Hello from M.foo"
=> nil
irb(main):009:0>

irb(main):001:0> m = Module.new
=> #
irb(main):002:0> m.foo
NoMethodError: undefined method `foo’ for #
from (irb):2
irb(main):003:0> class << m
irb(main):004:1>   def foo
irb(main):005:2>     “Hello from m.foo”
irb(main):006:2>   end
irb(main):007:1> end
=> nil
irb(main):008:0> m.foo
=> “Hello from m.foo”



Leave a Reply

Formatting: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>