From: Christoph Date: 2002-08-14T00:30:17+09:00 Subject: Re: Q) about singleton methods and access control "Bennett, Patrick" wrote .... > Hmmm... doesn't make much sense to my C++ mind and freshly battered Ruby mind, but I'll accept it. > Thanks for the help guys (Christoph, Kent). I'll use the 'send' hack for now. :> One thing to keep in mind - is that C++'s and Ruby's ``protected access controls'' are related put ``private access controls" are totally different animals - e.g. --- class A { public: void use_private_meth1() { this -> private_meth(); } void use_private_meth2(A &b) { b.private_meth(); } private: void private_meth() {} }; int main() { A a,b; a.use_private_meth1(); a.use_private_meth2(b); return 1; }; --- compiles and runs just fine, but Ruby will choose the exception variants in a similar situation. --- class A def use_private_meth1 self.private_meth end def use_private_meth2(b) b.private_meth() end private def private_meth end end a,b = A.new,A.new begin a.use_private_meth1() rescue NameError => mes puts mes end begin a.use_private_meth2(b) rescue NameError => mes puts mes end --- /Christoph