在Haskell(F#,ocaml的,和其他人)匹配,我可以这样做:模式在Perl ALA哈斯克尔
sign x | x > 0 = 1
| x == 0 = 0
| x < 0 = -1
,它计算给定整数的符号。
这可以简洁地表达某些逻辑流程;我在Perl中遇到过这些流程之一。
现在我正在做的事情是
sub frobnicator
{
my $frob = shift;
return "foo" if $frob eq "Foomaticator";
return "bar" if $frob eq "Barmaticator";
croak("Unable to frob legit value: $frob received");
}
这感觉无表情的和丑陋的。
此代码必须在Perl 5.8.8上运行,但我当然也对更现代的技术感兴趣。
我不知道你在找什么。除了“if”和“return”之外的东西?用这个可以做的事情不多。使用散列? – TLP