1
A
回答
9
if
的陈述后表单只适用于单个陈述。你必须附上多个语句块中的的if
条件,这本身需要用括号括起来后:
if ($result == 10) {
$df{key} = 10;
return;
}
在这种情况下,有可能有两种说法结合起来后陈述条件。这里的想法是通过执行布尔评估来将这两个语句合并为一个。
然而,这不一般一个好主意,因为它可能会短路并未能做到你所期望的一样,当$df{key} = 0
:
$df{key} = 10 and return if $result == 10;
从perlsyn:
在Perl中,定义范围的一系列语句称为块
...通常情况下,块由大括号(也称为大括号)分隔。我们将这个句法结构称为BLOCK。
以下复合语句可以被用来控制流速:
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
4
可以组语句成do BLOCK
和使用条件 语句该复合语句中的修饰符。
do { $df{key} = 10; return } if $result == 10;
与Zaid发布的and
构造不同,这不是不明确的。但是,在使用条件语句 修饰符之前,您应该考虑三次。尤其是混合使用if
/unless
语句与 if
/unless
语句修饰符会降低代码的可读性。
在我看来,语句修饰符合理的主要情况 是简单的错误路径,即:
croak "foo not specified" unless exists $args{foo};
3
的comma operator允许一个链在一起的多个语句到表达,之后就可以包括条件:
$df{key} = 10, return if $result == 10;
错误条件检查当我使用此经常构造:
for my $foo (something...)
{
warn("invalid thing"), next unless $foo =~ /pattern/;
# ...
}
相关问题
- 1. 多条件语句
- 2. 多个条件语句以作为R
- 3. 多条while语句 - 如何
- 4. 条件语句
- 5. 条件语句
- 6. 条件语句
- 7. 条件语句
- 8. 如何将2条SQL语句合并为一条语句
- 9. Excel vba - 多条件和多条语句
- 10. 多条件开关语句?
- 11. 多个条件语句
- 12. 多计语句/条件
- 13. 多条件if语句C++
- 14. MYSQL多个条件语句
- 15. Excel多个条件语句
- 16. 条件语句配置
- 17. C#asp.net if语句短,多条语句
- 18. 多条件语句循环条件
- 19. 调试条件语句有多昂贵?
- 20. 如何将if语句或条件转换为三元语句?
- 21. 条件CASE语句语法
- 22. PDO,多条语句,和比赛条件
- 23. mysql条件语句?
- 24. (Java)条件语句
- 25. r条件语句
- 26. XSL条件语句
- 27. SQL条件语句?
- 28. 条件语句JavaScript
- 29. IF语句条件
- 30. Z3条件语句
你想做什么? – kennytm 2010-06-29 09:16:30
$ df {key} = 10,如果$ result == 10则返回; – Tree 2010-06-29 09:40:25
我希望你在我的回答中注意到了警告。 – Zaid 2010-06-29 09:45:18