関数リファレンスをクラスのメソッドとして使うmix-in
mix-inと呼んでよいものかどうかわかりませんが、とりあえずメモ。
- ソースコード mokkori.pl
use strict ; use warnings ; use Perl6::Say ; my $subref = sub{ my $self = shift ; $self->{msg} ; } ; say MyClass->new->$subref ; package MyClass ; use strict ; use warnings ; sub new{ my $class = shift ; bless { msg => 'Hello ' . __PACKAGE__ } , $class ; }
- 実行結果
$ perl mokkori.pl Hello MyClass