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

Ktat ktat at geocities.co.jp
Sun Feb 10 09:41:29 CST 2002


加藤@羽曳野です。

Yasushi NakajimaさんがFri, 08 Feb 2002 11:10:44 +0900に書かれた
Re: [kansaipm] Re: Privateなサブルーチンから
>Yasushi>  そこで、メソッドとして呼ばれることを想定していないサブルーチンをメソッ
>Yasushi> ドとして呼ぶとエラーになるような仕組みを作れないだろうか。というのが、私
>
> ちなみに、useされるモジュール内のサブルーチンについては、Privateを使うと
>一応これが実現できます。
>
>  # Foo.pm
>  package Foo;
>  use Private;
>  hide Private;
>  sub _timeprint { print scalar(localtime),": @_\n" }
>  sub method { Foo->_timeprint(…) } # 実行時にエラーになる

ちょっと使ってみたのですが、

$self->_hoge()を使う場合、

_hoge($obj,…);

と書くか、

sub _hoge{
	local %Foo;
	show Private;
	my $self = shift;
	$self->_foo(...);
	...
}

と書くんですよね。

僕は、$self->_hoge(); なんて結構使ってるので、ちょっと面倒かなと。
で、継承使って上書きすればいいかなぁとか思って…

http://www.twin.ne.jp/~atusi/Redefine.pm

#大丈夫かな…。

-- 
Kato Atsushi(Ktat)
 mailto:atusi at pure.ne.jp
 mailto:ktat at geocities.co.jp




More information about the Kansai-pm mailing list