2015-05-22 91 views
1

我在Perl下面的代碼:Perl的速記if語句

next if ++$count == 1; 

這應該是

if (++$count == 1) { 
    next; 
} 

等效是否有一種方式來運行next;如果我添加更多的條件是什麼? (也就是說,如果++ $計數等於1或比其他一些價值更大?

+0

嘗試「和」 - 他們一起在一行。免責聲明,我13年來沒有做過perl。 – Zuzlx

+2

難道不是OR嗎?數字不能等於1,大於某個其他值 – Bijan

+1

,無論邏輯要求如何:) – Zuzlx

回答

9

我認爲像

next if ++$count == 1 or $count > $other_value;

應該只是工作。這是相當密集的,雖然,在旁邊依賴增量的影響,以及優先順序

我會忍不住加括號和移動增量遠

$count++; 
next if ($count == 1) or ($count > $other_value); 
+2

只需注意,只要發現'true'值就用'或'因爲'或'中的任何真實值都會將整個事物渲染爲「真實」,所以不會被評估。 – Zuzlx

+0

@Zuzlx雖然沒問題,但是'或'的RHS在任何情況下都不會引入任何副作用? – cms

+1

@Zuzlx只要'++'在第一個命令上,就沒有關係。 – Bijan

2

若y OU要測試的$count增加價值爲兩個獨立的條件,那麼這將是最好的,以增加它在一個單獨的語句,而不是針對$count

測試一次對++$count一旦所以,你的代碼將

++$count; 
next if $count == 1 or $count > $some_other_value;