2016-03-24 4 views

Antwort

5
for level: Double in 10.stride(through: 100, by: 10) { 
} 

oder in funktionalen Stil:

(1...10).map { Double($0) * 10.0 }.forEach { 
    print($0) 
} 

Bitte verwenden Sie nicht var für Iteratoren und den Wert eines Iterators nicht aus dem Inneren der Schleife ändern.

ich weitere Beispiele in diesem geben answer

+0

Ganz einfach! –

+0

Danke. Ich denke, alte Version ist lesbarer, nicht sicher, ob Voreingenommenheit oder nicht. Der funktionale Stil ist überhaupt nicht lesbar. – Esqarrouth

+1

@Esq In diesem Fall würde ich nicht den funktionalen Stil verwenden, aber es ist definitiv die Vertrautheit. Für den funktionalen Stil ist es wirklich hilfreich, jedem Namen einen Namen zu geben (z.B. 'printIndex = {...}' und dann '.forEach (printIndex)'). – Sulthan

2

Für Ihre speziellen Beispiel, was gesagt Sulthan.

Allgemeiner für wirklich komplexe, jede C-Stil for Schleife:

for init; cond; step { statement } 

kann while umgewandelt werden:

init 
while (cond) { 
    statement 
    step 
}