2017-01-04 43 views
0
for (int i = n-2; i >= 0; --i) 
{ 
.... 
} 

以上的,以迅速3語法自動翻譯,這是如何在swift 3語法中重寫以下for循環?

for i in n-2 ... 0 
{ 
} 

這是行不通的,因爲n可以取爲1,在C語法,這是有效的,循環不會被觸發,

但在swift 3語法中,這將導致運行時錯誤。

+0

它不會導致運行時錯誤,但它是明確不等價的。 – Pochi

回答

2
for i in stride(from: n-2, through: 0, by: -1) { 

} 
+0

這永遠不會導致'i'爲'0'。 to值應該是'-1'以具有與原始帖子相同的功能。 – nathan

+2

@nathan。更正'to:'到'through:' – Alexander

1
for i in (0 ... n-2).reversed() { 

}