トップ 一覧 検索 ヘルプ RSS ログイン

劇場

劇場>>Mooseの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
分かっててもたまにど忘れするので

*use時に実行
""BEGIN {}
*メンバーの属性追加
""package Animal;
""use Moose;
""has 'name' => ( is => 'rw', isa => 'Str' );
""
""package Human;
""use Moose; extends 'Animal';
""has '+name' => ( default => 'Nanashi' );
*継承クラスでのメソッドの挙動追加
""before/afterを使う
""
""package Point;
""use Moose;
""has 'x' => ( is => 'rw', isa => 'Int' );
""has 'y' => ( is => 'rw', isa => 'Int' );
""sub clear {
""    my $self = shift;
""    $self->x(0);
""    $self->y(0);
""}
""
""package Point3D;
""use Moose; extends 'Point';
""has 'z' => ( is => 'rw', isa => 'Int' );
""after 'clear' => sub {
""    my $self = shift;
""    $self->z(0);
""};