2016-10-31 2 views
-1

новичок в стрижа я попытался сделать петлю как этотУ меня есть ошибка в быстром цикле

for var z = 0 ; z <= 25 ; z = z + 5 { 

print (z) 
} 

поставил это дает мне эту ошибку

Loop.playground:5:1: error: C-style for statement has been removed in Swift 3

как я могу решить эту проблему?

ответ

0

Вы можете использовать предложение where!

for z in 0...25 where z % 5 == 0 { 
    print(z) 
} 

Это в основном отфильтровывает z ценности и оставляет только z значения, которые делятся на 5, который является то, что вы хотите.

Это дорогой, более аккуратный, чем циферблат C-стиля.

Другой способ сделать это с stride:

for i in stride(from: 0, through: 25, by: 5) { 
    print(i) 
} 
+1

Первый вариант может выглядеть «Swifty», но * очень неэффективен * 'z' увеличивается на одну единицу, а дополнительный'% '. для каждого значения требуется операция, чтобы определить, должно ли тело быть выполнено или нет. 'stride()' - как в связанном с дублированием - является лучшим решением. –

+0

Благодарю вас за помощь, она работает хорошо, но это, если я хочу увеличить число на 5, что, если я хочу уменьшить число? например от 10 до 0? – zainab

+0

@zainab простой, шаг от 10 до 0 на -1! – Sweeper