iOS アプリを Swift 3 にリファクタリングするタスクがあります。ただし、for
配列を逆方向にループするだけではなく、C スタイルのループがあります (逆方向であることが必須です)。
これはサンプルコードです。原理は同じです。
let array = ["hello", "world", nil, "foo", nil, "bar", "Peter Griffin"]
var threeLetterWords = 0
for var i = array.count-1; i >= 0 && array[i].characters.count == 3; --i, ++threeLetterWords { }
print("Found words: \(threeLetterWords)") // should say `Found words: 2`
試してみましたが、ループ内でインクリメントすることが重要と思われるため、stride(from:through:by:)
インクリメントできません。threeLetterWords
何か案は?