「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
追記 この記事は Any::Moose 0.02 以前が対象です。 0.03および、現在の最新版 0.04 では MouseとMooseを挟んだ処理の挙動が以下のように変わってます。 $VAR1 = bless( { 'roles' => [], 'superclasses' => [ 'Mouse::Object' ], 'name' => 'ANY', 'attributes' => {} }, 'Mouse::Meta::Class' ); $VAR1 = bless( { 'roles' => [], 'superclasses' => [ 'Mouse::Object' ], 'name' => 'ANY2', 'attributes' => {} }, 'Mouse::Meta::Class' ); ようするに最初にuse Any::Mooseをした時にMooseがloadされ
hasで定義したメソッドのオーバーライドについて - Unknown::Programming lazy_build使ったほうがよくね? package Foo; use Moose; has hoge => ( is => 'rw', lazy_build => 1, ); sub _build_hoge { 100 } __PACKAGE__->meta->make_immutable; 1; package main; use strict; use warnings; use Test::More tests => 3; my $foo = Foo->new; is $foo->hoge, 100; #=> 100 $foo->hoge(200); is $foo->hoge, 200; #=> 200 $foo->hoge($foo->_build_hoge); is $foo-
defaultだけ上書きとかできないのかな? package Foo; use Moose; has foo => ( is => 'rw', lazy => 1, default => sub { 100 } ); package Bar; use Moose; extends qw(Foo); # isとlazyを引き継いで欲しい! has foo => ( default => sub { 200 } ); 派生先でdefaultだけ上書きしたいんだけどそーゆーのはできない? やっばhasの定義をBarに全コピーするのがいいのかなぁ。でも定義が重複するのがやだな・・・。triggerとかが二重化しちゃうし。 んー他にはこうするとか? package Foo; use Moose; has foo => ( is => 'rw', lazy => 1, default => sub {
シンプルなPerl 5でクラスを作る 普通のPerl5 OOでクラスを書くと { package Dog; use strict; use warnings; sub new { my ( $class, %args ) = @_; my $obj = bless { name => $args{name}, gender => $args{gender}, }, $class; return $obj; } sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } sub gender { my $self = shift; $self->{gender} = shift if @_; return $self->{gender}; } sub bark { my $self = s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く