編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

インスタンス生成時処理

User.pm

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

my $user = User->new( name => 'taro' );

説明

  • インスタンス生成時にBUILD()に記述された処理が実行される。
  • ここではUser->new()実行時にBUILD()が実行される。
  • BUILD()では$selfに加えて、インスタンス生成時に渡した引数も渡される。
    • すなわち、ここでの$argsは( name => 'taro' )。
  • BUILD()に返り値は不要。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2010-12-24 (金) 00:48:39 (2584d)