Repeat. Some things in Swift have no known endpoint—we stop them (break the loop) on demand. For a simple loop, we can invoke the "repeat" keyword.
The repeat loop requires a "repeat" and a "while" keyword. To have an infinitely repeating loop, we can use a "while true" part at the end.
First example. Here we have a repeat-while loop. We have a local variable named "i" and we increment this in the body of the repeat-while loop.
Note The loop ends when our variable reaches the value 6. We print the statement "I have N cats" on each iteration.
var i = 0
// Use repeat loop.// ... No initial condition is checked.
repeat {
print("I have \(i) cats.")
i += 1
} while i < 5I have 0 cats.
I have 1 cats.
I have 2 cats.
I have 3 cats.
I have 4 cats.
Repeat, random numbers. Here is a simple program that repeats a function call. It terminates the repeat-while loop only when the function call returns a specific number.
Note Arc4random returns a random number. In the following if-statement, we break if the number is even (not odd).
Tip Consider using a "while-true" loop when an infinite (or indeterminate) loop is needed. A break can stop the loop.
import Foundation
// Initialize a seed number.
sranddev()
// Get random number in repeat loop.// ... Print number.// If number is even then break the loop.
repeat {
let number = arc4random()
print(number)
// Check for even number.
if number % 2 == 0 {
print("Even number, stopping loop.")
break
}
} while true546090829
4220801392
Even number, stopping loop.
Repeat, example 3. The repeat-while loop does not check its condition before the loop body is entered. So a variable (like "x" in this program) can have any value.
var x = 999
repeat {
// This block is entered on any value of x.// ... The value is not checked before the block is executed.
print(x)
} while x < 10999
A summary. The repeat-while loop is the same as a "do-while" loop in C-like languages. The word "repeat" may be easier to read for programmers. Its while part is required.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.