【发布时间】:2011-11-22 23:57:51
【问题描述】:
在 Haskell(F#、Ocaml 等)中,我可以这样做:
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之外的其他东西?你可以用这个做的不多。使用哈希?
标签: perl coding-style pattern-matching