Moose 基本

ゲッターの拡張

 package Obj;
 use Moose;
 has n => (
    is => 'rw',
    isa => 'Int',
 );
 around 'n' => sub {
    my $next = shift;
    my $self = shift;
    return $self->$next . '!' unless @_;
 
    my $arg = shift;
    return $self->$next($arg);
 };
 
 package main;
 my $o = Obj->new;
 $o->n(10);
 print $o->n, "\n"; # 10!とビックリがつく

http://search.cpan.org/perldoc?Moose::Manual::FAQ#How_can_I_inflate/deflate_values_in_accessors?


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS