Perlについての質問箱 48箱目
■ このスレッドは過去ログ倉庫に格納されています
0780デフォルトの名無しさん
2011/10/22(土) 09:32:35.27こんなんはどう?
package Foo;
sub hello {
print "Hello!\n";
}
## 通常のメソッド呼び出し
package main;
my $obj = bless({}, 'Foo');
$obj->hello(); #=> Hello!
## あるオブジェクトでだけメソッドを上書き
my $obj2 = bless({}, 'Foo');
{
use Scalar::Util qw(blessed);
no strict "refs";
@{$obj2 . "::ISA"} = blessed $obj2;
*{$obj2 . "::hello"} = sub { print "Konnichiwa!\n" }; ## なんかこんな感じで。
$obj2 = bless $obj2, "$obj2";
}
$obj2->hello(); #=> Konnichiwa!
■ このスレッドは過去ログ倉庫に格納されています