UNIVERSAL::tap
最近仕事柄Ruby厨でテスト厨なんですけど、久しぶりにリハビリでPerlモジュール書いてみました。
Rubyには、レシーバを引数にブロック評価してレシーバ自身を返すtapという便利なメソッドがあって、気がつけばよく使っているのでこれをPerlに移植してみました。
http://github.com/masaki/UNIVERSAL-tap
# before my $module = Module->new; $module->foo; $module->bar; $module->baz; $module->run; # after use UNIVERSAL::tap; my $module = Module->new->tap(sub { $_[0]->foo; $_[0]->bar; $_[0]->baz; })->run;
例がアレなのでメリットを感じられない気もしますが、メソッドチェーン最高!という人にはうってつけですね。