[kansaipm] Re: Privateなサブルーチン

mishima at momo.so-net.ne.jp mishima at momo.so-net.ne.jp
Thu Feb 7 10:01:03 CST 2002


三嶋@難波です。

From: Yasushi Nakajima <sey at jkc.co.jp>
Subject: Re: [kansaipm] Re: Privateなサブルーチン
Date: Thu, 07 Feb 2002 18:07:32 +0900

>  ところで、少し話は違うのですが、メソッドとして呼ばれたかどうかをサブルー
> チンの側から知る方法ってあるでしょうか?つまり、Class::sub() と呼ばれた
> のか、Class->sub() と呼ばれたのかを判別できるか、ということです。原理的
> に無理かと思いつつ、何か方法がないかと時々思い出しては調べています。これ
> ができると、sub func :NotMethod {…} と書いたものはメソッドとしては呼べ
> ない、という制約が加えられそうです。

Class->sub() と呼ばれた場合には、1個目の引数にクラス(パッケージ)の
名前が渡ってくるんじゃなかったでしょうか。
Class::sub() だと引数は見たまんま(この場合は引数無し)で、
$instance->sub() の場合には、1個目の引数に bless されたリファレンスが
渡ってくるんですよね。

そういうので区別できないでしょうか。



More information about the Kansai-pm mailing list