From: matz@... (Yukihiro Matsumoto) Date: 2000-10-21T01:04:01+09:00 Subject: [ruby-list:25553] Re: Private method can be called from outside by send() まつもと ゆきひろです In message "[ruby-list:25550] Private method can be called from outside by send()" on 00/10/20, NISHIKAWA writes: |sendってのは「メソッド呼出のメソッド名を抽象化できるもの」という認識だった |ので、Instance.privatemethod の呼出が不可で、Instance.send(:privatemethod) の |呼出が可であるというのは変に思っているのでした。 理由として * privateはうっかりミスを防止するためのもので「いかなる方 法でもアクセスできない」ようにするためのものではない。セ キュリティを実現するわけじゃないんだから(理念上の理由) instance_evalでカプセル化を破れるのも同様 * メソッドレベルではobj.sendとsendを区別できない(実装上の理由) の両方があります。大きいのは前者かな。 まつもと ゆきひろ /:|)