是否有任何理由在除for
循環以外的任何地方使用標量逗號運算符?Perl的標量逗號運算符何時有用?
回答
由於Perl的標量逗號是A中的C逗號操作符的「端口」,these comments可能是中肯:
在一段時間後,你會發現自己在 的情況是,C期望的一個 單表達,但你有兩個想要說的東西。最常見的 常見(而且實際上唯一常見) 的例子是在
for
循環中,具體是 第一個和第三個控制 表達式。如果(例如)您 想有一個循環,其中i
計數 了從0
到10
在同一時間j
從10
倒計時0
?
所以,你認爲它主要用於for
循環的直覺是一個很好的想法。
我偶爾用它在有條件的(有時誤稱爲「三元」)運營商,如果代碼是很容易,打破它伸到讀一個真正的if/else:
my $blah = condition() ? do_this(), do_that() : do_the_other_thing();
也有可能在最後結果很重要的某些表達式中使用,例如在grep
表達式中,但在這種情況下,它與使用分號相同:
my @results = grep { setup(), condition() } @list;
是不是「?:」運算符三元組? :) – 2010-02-04 19:49:00
@eugene:它是* a *三元運算符,但將它稱爲*三元運算符是不正確的。 – Ether 2010-02-04 20:03:21
- 1. 逗號運算符何時有用?
- 2. C標準 - 逗號運算符語法
- 3. boost :: phoenix3逗號運算符
- 4. 運算符逗號重載
- 5. Javascript逗號運算符
- 6. Perl標量範圍運算符
- 7. 這裏使用了逗號運算符?
- 8. 逗號運算符和逗號分隔符
- 9. JavaScript中的逗號運算符
- 10. 變量初始化無法使用逗號運算符編譯
- 11. JQuery計算量(用逗號)
- 12. 逗號運算符和賦值運算符 - 返回值
- 13. php連接運算符點或逗號?
- 14. 定義逗號運算符,如javascript
- 15. 語境和逗號運算符
- 16. Visual C++逗號運算符和sse intrinsics
- 17. SFINAE decltype逗號運算符技巧
- 18. 逗號運算符是什麼意思?
- 19. 使用python的**運算符和*運算符時的符號
- 20. 使用逗號運算符{(),{})是否有可能?
- 21. 使用xpath計算逗號的數量
- 22. 如何在perl文件測試運算符中使用標量變量?
- 23. Javascript中的逗號運算符如何工作?
- 24. 使用逗號運算符是不錯的做法嗎?
- 25. 如何計算字符串中逗號的數量?
- 26. Perl的時期VS逗號操作
- 27. 有符號數的右移運算符
- 28. 如何在逗號運算符中包含聲明?
- 29. 在條件三元運算符中使用逗號時發現的東西?
- 30. 使用逗號運算符將值傳遞給函數?
代碼高爾夫。 。 。 – mob 2010-02-04 15:42:26
+1 mobrule;他確實說「任何理由」。 – 2010-02-04 16:10:58