要寫封在Perl中我們需要寫Perl和閉包。是否有可能?
sub test {
my($x, $y, $z) = @_;
my $closure = sub{ $x + $y + $z };
}
但有時,如果不是一如既往的子程序可能有很多行,我想外面拿子程序的定義和使用這樣的
my $z;
sub test {
my($x, $y) = @_;
my $closure = closure('subname', $x, $y, $z);
}
sub subname : closure ($var1, $var2, $var3) {
$var1 + $var2 + $var3
}
所以我可以重複使用從其他地方
my $on2;
sub test_xxx {
my($other_name1, $on3) = @_;
my $closure = closure('subname', $on3, $other_name1, $on2);
}
這個封閉這是可能在Perl?
這種事情通常被稱爲「工廠」,它的東西我寫的[Intemediate的Perl]相當多的(HTTPS:/ /www.intermediateperl.com)和[掌握Perl](https://www.masteringperl.org)。 –