YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* インスタンス生成時処理 [#s416d1f1]
*** User.pm [#y7db4d50]
package User;
use Mouse;
has 'name' => (is => 'rw', isa => 'Str');
sub BUILD {
my ( $self, $args ) = @_;
say "DEBUG: " . $self->name;
}
__PACKAGE__->meta->make_immutable();
1;
*** main.pl [#hfcd9bc3]
my $user = User->new( name => 'taro' );
** 説明 [#h4e72ac6]
- インスタンス生成時にBUILD()に記述された処理が実行される。
- ここではUser->new()実行時にBUILD()が実行される。
- BUILD()では$selfに加えて、インスタンス生成時に渡した引...
-- すなわち、ここでの$argsは( name => 'taro' )。
- BUILD()に返り値は不要。
終了行:
* インスタンス生成時処理 [#s416d1f1]
*** User.pm [#y7db4d50]
package User;
use Mouse;
has 'name' => (is => 'rw', isa => 'Str');
sub BUILD {
my ( $self, $args ) = @_;
say "DEBUG: " . $self->name;
}
__PACKAGE__->meta->make_immutable();
1;
*** main.pl [#hfcd9bc3]
my $user = User->new( name => 'taro' );
** 説明 [#h4e72ac6]
- インスタンス生成時にBUILD()に記述された処理が実行される。
- ここではUser->new()実行時にBUILD()が実行される。
- BUILD()では$selfに加えて、インスタンス生成時に渡した引...
-- すなわち、ここでの$argsは( name => 'taro' )。
- BUILD()に返り値は不要。
ページ名: