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