14. PerlのOOPにおいて、コンストラクタ
内でメンバ関数を呼ぶ方法はないか?
質問
my $obj = HOGE->new();
$obj->write('done.');
exit;
package HOGE;
sub new { # Constructor
my $class = shift;
my $self = {};
$self->write('init...'); # ERROR!!
return bless $self, $class;
}
sub write { # Member function
my $self = shift;
my $str = shift;
print "$strn";
}
15.
16. blessを変数に入れておいて、後で変数を
returnする
解決
my $obj = HOGE->new();
$obj->write('done.');
exit;
package HOGE;
sub new { # Constructor
my $class = shift;
my $self = {};
my $obj = bless $self, $class;
$self->write('init...'); #PASS!
return $obj;
}
sub write { # Member function
my $self = shift;
my $str = shift;
print "$strn";
}