YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* 非Mouseクラスの継承 [#gb55aa4f]
*** MyUA.pm [#j6aa09de]
package MyUA;
use Mouse;
use MouseX::Foreign qw/LWP::UserAgent/;
sub FOREIGNBUILDARGS {
my $class = shift;
my %args = @_;
return ( agent => $args{agent} );
}
__PACKAGE__->meta->make_immutable();
1;
*** main.pl [#ef758325]
use MyUA;
my $ua = MyUA->new( name => 'this-is-useless', agent => ...
** 説明 [#q5cbdbfa]
- 非Mouseクラスを継承する場合、extendsではなく、MouseX::F...
-- ここでは非MouseクラスであるLWP::UserAgentを継承する。
- FOREIGNBUILDARGS()で親クラスのnew()に渡す引数を作成する。
-- ここでは( agent => $args{agent} )がLWP::UserAgentのnew...
- ここでは記述がないが、BUILDARGS()でMyUAクラスのコンスト...
終了行:
* 非Mouseクラスの継承 [#gb55aa4f]
*** MyUA.pm [#j6aa09de]
package MyUA;
use Mouse;
use MouseX::Foreign qw/LWP::UserAgent/;
sub FOREIGNBUILDARGS {
my $class = shift;
my %args = @_;
return ( agent => $args{agent} );
}
__PACKAGE__->meta->make_immutable();
1;
*** main.pl [#ef758325]
use MyUA;
my $ua = MyUA->new( name => 'this-is-useless', agent => ...
** 説明 [#q5cbdbfa]
- 非Mouseクラスを継承する場合、extendsではなく、MouseX::F...
-- ここでは非MouseクラスであるLWP::UserAgentを継承する。
- FOREIGNBUILDARGS()で親クラスのnew()に渡す引数を作成する。
-- ここでは( agent => $args{agent} )がLWP::UserAgentのnew...
- ここでは記述がないが、BUILDARGS()でMyUAクラスのコンスト...
ページ名: