2010-02-04 100 views

回答

7

由於Perl的標量逗號是A中的C逗號操作符的「端口」,these comments可能是中肯:

在一段時間後,你會發現自己在 的情況是,C期望的一個 單表達,但你有兩個想要說的東西。最常見的 常見(而且實際上唯一常見) 的例子是在for循環中,具體是 第一個和第三個控制 表達式。如果(例如)您 想有一個循環,其中i計數 了從010在同一時間 j10倒計時0

所以,你認爲它主要用於for循環的直覺是一個很好的想法。

3

我偶爾用它在有條件的(有時誤稱爲「三元」)運營商,如果代碼是很容易,打破它伸到讀一個真正的if/else:

my $blah = condition() ? do_this(), do_that() : do_the_other_thing(); 

也有可能在最後結果很重要的某些表達式中使用,例如在grep表達式中,但在這種情況下,它與使用分號相同:

my @results = grep { setup(), condition() } @list; 
+0

是不是「?:」運算符三元組? :) – 2010-02-04 19:49:00

+0

@eugene:它是* a *三元運算符,但將它稱爲*三元運算符是不正確的。 – Ether 2010-02-04 20:03:21