[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