IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

Perl で JavaScript の apply っぽいやつ

JavaScript では

apply や call を使って this を実行時に与えることが出来る

var func = function() { return 1 + this };
alert(func.apply(1)); // 2

Perl では

こうすると、this っぽい感じで与えられる

my $code = sub { 1 + shift };
print 1->$code; # 2

Algorithm::C3 のソースを読んでて出てきた。
めもめも

まあ

これで全然いいんですが、

my $code = sub {1 + shift };
print $code->(1);

文字列 or CodeRef が来るような場合は便利かもね

$obj->$code # $code is code(or simbolic) reference

みたいな
めもめも