- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- バックアップ を表示
- Perl-Mouse/インスタンス生成時処理 (BUILD) へ行く。
- 1 (2010-12-24 (金) 00:46:09)
* Mouse コンストラクタ(インスタンス生成時処理) [#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()に返り値は不要。