条件(三元)运算符

减少Perl代码冗余的一种方法是将if-else语句替换为条件运算符表达式。条件运算符(也称为三元运算符)的形式为:逻辑测试 ? 为真时的值 : 为假时的值

让我们将标准的Perl if-else转换为条件运算符等价物,使用一个虚构的子程序。首先,这是if-else语句:

sub calculate_salary {
    my $hours = shift;
    my $salary;
    if ($hours > 40) {
        $salary = get_overtime_wage($hours);
    }
    else {
        $salary = get_normal_wage($hours);
    }
    return $salary;
}

这是使用条件运算符的相同语句

sub calculate_salary {
    my $hours = shift;
    return $hours > 40 ? get_overtime_wage($hours) : get_normal_wage($hours);
}

希望这个例子能展示使用条件运算符如何缩短并简化Perl代码。有关详细信息,请参阅官方文档


本文最初发布于PerlTricks.com

标签

David Farrell

David是一位专业程序员,他经常推文博客关于代码和编程艺术。

浏览他们的文章

反馈

这篇文章有什么问题吗?请通过在GitHub上打开问题或拉取请求来帮助我们。