From: Brian Palmer Date: 2004-12-30T06:22:29+09:00 Subject: #send and private methods I apologize if this has been discussed before and I missed it... What's the rationale for having #send bypass the private status of a method? For instance: irb(main):001:0> b = Object.new => # irb(main):002:0> b.gets NoMethodError: private method `gets' called for # from (irb):2 irb(main):003:0> b.send("gets") no! => "no!\n" irb(main):004:0> In my mind, #send should honor the visibility of a method and only allow calls to private methods if called like self.send("gets") But maybe there's a good reason for this behavior that I'm simply missing. - Brian Palmer