> 2001/02/18 (日) 13:07:18 ◆ ▼ ◇ [mirai]> >
> > bless { name => shift }, $class;
> > これと
> > $debug->clear;
> > コレって何してるんですケ(?ー`)ノ
> bless関数
> bless関数は、リファレンスとパッケージ名を引数とします。
> 第1引数で与えられたリファレンスが指すオブジェクトは、
> 第2引数で指定したクラスに所属します。
> 第2引数のパッケージ名はオプションで、
> 省略すると現在のパッケージ名を引数とします。
> $debug->clearすると
> 新しく作ったオブジェクト$debugのメソッドclearを呼び出す
> さっきの場合だとdebug.logを空にする関数をメソッドを呼び出す
> perlのoopのサンプルコード
> # Circle のパッケージ名を設定
> package Circle;
> # Circle のクラスメソッド(コンストラクタ)
> sub new{
> # 暗黙のうちに引き渡されるパッケージ名を受け取る
> my $class = shift;
> # 任意の引数を受け取る
> my( $x, $y ) =@_;
> # 第1引数に連想配列のリファレンスを指定、
> # 第2引数にパッケージ名を指定
> bless { pos=>[$x, $y] }, $class;
> }
> # Circleのインスタンスメソッド
> sub position{
> my $self = shift;
> if ( @_ ){
> $self->{pos}[0] = @_[0];
> $self->{pos}[1] = @_[1];
> }
> return @{ $self->{pos} };
> }
> package main;
> my $circle = new Circle;
何処にあった解説書よ(;゚Д゚)
参考:2001/02/18(日)13時03分20秒