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

迅速3構文に上記の自動翻訳は、nはC構文で、1かもしれないので、これは有効で、ループはしません、これは動作しません。この以下のforループをswift 3構文で書き直すには?

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

です

ですが、即時構文では実行時エラーが発生します。

+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() { 

} 
関連する問題