"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