Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ
Π Swift Π΅ΡΡΡ Π²ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ Π½Π°ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΠ· C-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ². Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ: ΡΠΈΠΊΠ»Ρ for-in ΠΈ while Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ if, guard ΠΈ switch Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ break ΠΈ continue Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΡΡ ΡΠΎΡΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
Β
Swift ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΒ ΡΠΈΠΊΠ» for-in, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ, ΡΠ»ΠΎΠ²Π°ΡΡΠΌ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ, ΡΡΡΠΎΠΊΠ°ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌ.
Π Swift ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ ΠΈΠ· ΡΠ·ΡΠΊΠ° C. Π Swift Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠ΅ΠΉΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π² C ΠΎΡΠΈΠ±ΠΊΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break. ΠΠ΅ΠΉΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ. Π‘ΠΎΠ²ΠΏΠ°Π²ΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ΅ΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π»Π΅ ΠΊΠ΅ΠΉΡΠ°, Π° ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ where Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ°.
Π¦ΠΈΠΊΠ»Ρ For-in
Π¦ΠΈΠΊΠ» for-in ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΡΠΈΡΠ΅Π», ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΡΡΠΎΠΊΠ΅.
ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» for-in Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ:
let names = ["Anna", "Alex", "Brian", "Jack"]
for name in names {
print("Hello, \(name)!")
}
// Hello, Anna!
// Hello, Alex!
// Hello, Brian!
// Hello, Jack!
Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π³ΠΎ ΠΏΠ°ΡΠ΅ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΡΡΠ΅ΠΆ (ΠΊΠ»ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π»ΠΎΠΆΠΈΡΡ ΡΠ»Π΅Π½Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ° Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π° for-in. ΠΠ΄Π΅ΡΡ ΠΊΠ»ΡΡΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΠ°Π΄Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ animalName, Π° Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ - Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ legCount:
let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
for (animalName, legCount) in numberOfLegs {
print("\(animalName)s have \(legCount) legs")
}
// ants have 6 legs
// cats have 4 legs
// spiders have 8 legs
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΡΡΠΈ ΡΠ²ΠΎΠ΅ΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡΡ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² Π³Π»Π°Π²Π΅ Π’ΠΈΠΏΡ ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ.
ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ for-in Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° 5:
for index in 1...5 {
print("\(index) ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 5 Π±ΡΠ΄Π΅Ρ \(index * 5)")
}
// 1 ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 5 Π±ΡΠ΄Π΅Ρ 5
// 2 ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 5 Π±ΡΠ΄Π΅Ρ 10
// 3 ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 5 Π±ΡΠ΄Π΅Ρ 15
// 4 ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 5 Π±ΡΠ΄Π΅Ρ 20
// 5 ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 5 Π±ΡΠ΄Π΅Ρ 25
ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΊΡΡΡΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 5 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°(...). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ index ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (1), ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΈΠΊΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ index. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ index ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (2), ΠΈ ΡΡΠ½ΠΊΡΠΈΡ print(_:separator:terminator:) ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ index ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΡ, Π΅Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π°, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° let.
ΠΡΠ»ΠΈ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
let base = 3
let power = 10
var answer = 1
for _ in 1...power {
answer *= base
}
print("\(base) Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ \(power) ΡΠ°Π²Π½ΠΎ \(answer)")
// ΠΡΠ²Π΅Π΄Π΅Ρ "3 Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ 10 ΡΠ°Π²Π½ΠΎ 59049"
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄ΡΡΠ³ΠΈΠΌ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ 3 Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ 10). ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 (ΡΠΎ Π΅ΡΡΡ 3 Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ 0) ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° 3 Π΄Π΅ΡΡΡΡ ΡΠ°Π·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΠΊΡΡΡΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 1, ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ 10. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π½Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° - ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·. Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ "_" (ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π°) ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π΅Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΌΠΊΠ½ΡΡΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΎΠ±Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠ½ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΡΠΎΡΠ΅ΠΊ Π½Π° ΡΠ°ΡΠ°Ρ . ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΈΡΠΎΠ²Π°ΡΡ 60 ΡΠ°ΠΊΠΈΡ ΠΎΡΠΌΠ΅ΡΠΎΠΊ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 0 ΠΌΠΈΠ½ΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·Π°ΠΌΠΊΠ½ΡΡΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ( ..<), ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΠΈΠΆΠ½ΡΡ Π³ΡΠ°Π½ΠΈΡΡ, Π½ΠΎ Π½Π΅ Π²Π΅ΡΡ Π½ΡΡ. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π³Π»Π°Π²Ρ ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
let minutes = 60
for tickMark in 0..
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Ρ ΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠΈΠ½ΡΡΠ½ΡΡ Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΎΠ½ΠΈ Π·Π°Ρ ΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π½Π° ΡΠΈΡΠ΅ΡΠ±Π»Π°ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠ΅ 5 ΠΌΠΈΠ½ΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Ρ Π½Π°Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ stride(from:to:by:).
let minuteInterval = 5
for tickMark in stride(from: 0, to: minutes, by: minuteInterval) {
// render the tick mark every 5 minutes (0, 5, 10, 15 ... 45, 50, 55)
}
Π’Π°ΠΊ ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Ρ Π·Π°ΠΊΡΡΡΡΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ, Π½ΠΎ ΡΠΆΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° stride(from:through:by:):
let hours = 12
let hourInterval = 3
for tickMark in stride(from: 3, through: hours, by: hourInterval) {
// render the tick mark every 3 hours (3, 6, 9, 12)
}
Π¦ΠΈΠΊΠ»Ρ While
Π¦ΠΈΠΊΠ» while Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ false. ΠΡΠΎΡ Π²ΠΈΠ΄ ΡΠΈΠΊΠ»ΠΎΠ² Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΠΊΠ» Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ. Swift ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄Π²Π° Π²ΠΈΠ΄Π° ΡΠΈΠΊΠ»ΠΎΠ² while:
- while - Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°.
- repeat-while - Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°.
While
Π¦ΠΈΠΊΠ» while Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π° Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π»ΠΎΠΆΠ½ΡΠΌ.
ΠΠ±ΡΠΈΠΉ Π²ΠΈΠ΄ ΡΠΈΠΊΠ»Π° while Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- while ΡΡΠ»ΠΎΠ²ΠΈΠ΅ {
- ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
- }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΡΠΎΡΡΠ°Ρ ΠΈΠ³ΡΠ° ΠΠΌΠ΅ΠΈ ΠΈ ΠΠ΅ΡΡΠ½ΠΈΡΡ (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ, ΠΊΠ°ΠΊ ΠΠΎΡΡ ΠΈ ΠΠ΅ΡΡΠ½ΠΈΡΡ):

ΠΠ³ΡΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ:
- ΠΠΎΡΠΊΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° 25 ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² ΠΈ ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΡ Π½Π° 25-ΡΠΉ ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΈΠ»ΠΈ Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ.
- ΠΠ³ΡΠΎΠΊΒ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Ρ "Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°", ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΠ°ΠΌΠΎΠΌ Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π΄ΠΎΡΠΊΠΈ.
- Π Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π° Π²Ρ Π±ΡΠΎΡΠ°Π΅ΡΠ΅ ΠΈΠ³ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ΡΡ Π½Π° ΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠΏΠ°Π»ΠΎ ΠΏΠΎΡΠ»Π΅ Π±ΡΠΎΡΠΊΠ°, Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠ½ΠΊΡΠΈΡΠ½Π°Ρ ΡΡΡΠ΅Π»ΠΊΠ°.
- ΠΡΠ»ΠΈ Π²Π°Ρ Ρ ΠΎΠ΄ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π»Π΅ΡΡΠ½ΠΈΡΡ, ΡΠΎ Π²Ρ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎ Π½Π΅ΠΉ Π²Π²Π΅ΡΡ .
- ΠΡΠ»ΠΈ Π²Π°Ρ Ρ ΠΎΠ΄ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π³ΠΎΠ»ΠΎΠ²Π΅ Π·ΠΌΠ΅ΠΈ, ΡΠΎ Π²Ρ ΡΠΏΡΡΠΊΠ°Π΅ΡΠ΅ΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ Ρ Π²ΠΎΡΡΡ Π·ΠΌΠ΅ΠΈ.
ΠΠ³ΡΠΎΠ²Π°Ρ Π΄ΠΎΡΠΊΠ° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° Int. ΠΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ finalSquare, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠΎΠ±Π΅Π΄Ρ. Π’.ΠΊ. ΠΈΠ³ΡΠΎΠΊΠΈ ΡΡΠ°ΡΡΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΡΠΊΠΈ, Ρ "Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°", ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ 26-Ρ, Π° Π½Π΅ 25-Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ(ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΎΡ 0 Π΄ΠΎ 25 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ):
let finalSquare = 25
var board = [Int](repeating: 0, count: finalSquare + 1)
ΠΠ°ΡΠ΅ΠΌ, Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π»Π΅ΡΡΠ½ΠΈΡ ΠΈ Π·ΠΌΠ΅ΠΉ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ²Π°Π΄ΡΠ°ΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»Π΅ΡΡΠ½ΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ Π²Π°Ρ Π²Π²Π΅ΡΡ ΠΏΠΎ Π΄ΠΎΡΠΊΠ΅, ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄ΡΠ°ΡΡ Ρ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ Π·ΠΌΠ΅ΠΈ, ΡΠΏΡΡΠΊΠ°ΡΡΠΈΠ΅ Π²Π°Ρ Π²Π½ΠΈΠ· - ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅.
board[03] = +08; board[06] = +11; board[09] = +09; board[10] = +02
board[14] = -10; board[19] = -11; board[22] = -02; board[24] = -08
ΠΠ²Π°Π΄ΡΠ°Ρ 3 Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»Π΅ΡΡΠ½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ Π²Π°Ρ Π²Π²Π΅ΡΡ Π½Π° 11 ΠΊΠ²Π°Π΄ΡΠ°Ρ. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° board[03] ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ +08, ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 8 ΡΠΈΠΏΠ° Int (ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ 3 ΠΈ 11). ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠ½ΠΈΡΡ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»ΡΡΠ° (+i) ΡΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ½ΡΡΠ° (-i), Π° ΡΠΈΡΠ»Π°ΠΌ Π½ΠΈΠΆΠ΅ 10 ΠΏΡΠΈΠΏΠΈΡΠ°Π½Ρ Π½ΡΠ»ΠΈ. (Π ΡΡΠΈΡ Π΄Π²ΡΡ ΡΡΠΈΠ»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Β Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ°Ρ Π½Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ).
var square = 0
var diceRoll = 0
while square < finalSquare {
// Π±ΡΠΎΡΠΎΠΊ ΠΊΡΠ±ΠΈΠΊΠ°
diceRoll += 1
if diceRoll == 7 { diceRoll = 1 }
// Π½Π°ΡΠ°ΡΡ Ρ
ΠΎΠ΄ΠΈΡΡ Π½Π° Π²ΡΠΏΠ°Π²ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π³ΠΎΠ²
square += diceRoll
if square < board.count {
// Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π° ΠΏΠΎΠ»Π΅, ΠΈΠ΄ΡΠΈ Π²Π²Π΅ΡΡ
ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎ Π·ΠΌΠ΅ΡΠΌ ΠΈΠ»ΠΈ Π»Π΅ΡΡΠ½ΠΈΡΠ°ΠΌ
square += board[square]
}
}
print("Game over!")
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠΎΡΠΊΠ° ΠΊΡΠ±ΠΈΠΊΠ°. ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π», Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ diceRoll Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0. ΠΠ°ΠΆΠ΄ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ diceRoll ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠΈΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Β (+= 1), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π½Π΅ ΡΡΠ°Π»ΠΎ Π»ΠΈ Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ += diceRoll ΡΠ°Π²Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ diceRoll ΠΏΠΎΡΠ»Π΅ Π΅Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ 7, ΠΎΠ½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° 1. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ diceRoll, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: 1, 2, 3, 4, 5, 6, 1, 2 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡΠ»Π΅ Π±ΡΠΎΡΠΊΠ° ΠΊΡΠ±ΠΈΠΊΠ° ΠΈΠ³ΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π΅ΡΠΎΠΊ, ΡΠ°Π²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ diceRoll. ΠΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠΎΡΠΎΠΊ ΠΊΡΠ±ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΠ³ΡΠΎΠΊΠ° Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° 25. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ, ΠΊΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ square ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ count ΠΌΠ°ΡΡΠΈΠ²Π° board ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² board[square] ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ square Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠΊΠ° Π²Π²Π΅ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎ Π·ΠΌΠ΅ΡΠΌ ΠΈΠ»ΠΈ Π»Π΅ΡΡΠ½ΠΈΡΠ°ΠΌ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΡΠ»ΠΈ Π±Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ Π±ΡΠ»ΠΎ, ΠΌΠΎΠ³Π»Π° Π±Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ board[square], Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡΡΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° board, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π±Ρ ΠΊ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠ»ΠΈ square ΡΠ°Π²Π½ΠΎ 26, ΠΊΠΎΠ΄ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ board[26], ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π’Π΅ΠΊΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΡΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°Ρ 25 ΠΈΠ»ΠΈ Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ ΠΊΠ°ΠΊ false ΠΈ ΠΈΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ while ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ³ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
Π¦ΠΈΠΊΠ» repeat-while
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΠΊΠ»Π° while, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» repeat-while, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ false.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π¦ΠΈΠΊΠ» repeat-while Π² Swift Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΠΈΠΊΠ»Ρ do-while Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ .
ΠΠ±ΡΠΈΠΉ Π²ΠΈΠ΄ ΡΠΈΠΊΠ»Π° repeat-while Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- repeat {
- ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
- } while ΡΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠΈΠΆΠ΅ ΡΠ½ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ³ΡΡ ΠΠΌΠ΅ΠΈ ΠΈ ΠΠ΅ΡΡΠ½ΠΈΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° repeat-while. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ finalSquare, board, square ΠΈ diceRoll ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ while:
let finalSquare = 25
var board = [Int](repeating: 0, count: finalSquare + 1)
board[03] = +08; board[06] = +11; board[09] = +09; board[10] = +02
board[14] = -10; board[19] = -11; board[22] = -02; board[24] = -08
var square = 0
var diceRoll = 0
Π ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ³ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π·ΠΌΠ΅ΠΉ ΠΈΠ»ΠΈ Π»Π΅ΡΡΠ½ΠΈΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ΅. ΠΠΈ ΠΎΠ΄Π½Π° Π»Π΅ΡΡΠ½ΠΈΡΠ° Π½Π° ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π° ΠΊΠ²Π°Π΄ΡΠ°Ρ 25. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΡ Π² ΠΈΠ³ΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ²ΡΠΈΡΡ Π²Π²Π΅ΡΡ ΠΏΠΎ Π»Π΅ΡΡΠ½ΠΈΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ.
Π Π½Π°ΡΠ°Π»Π΅ ΠΈΠ³ΡΡ ΠΈΠ³ΡΠΎΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ΅ 0. board[0] Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΡΠ΅ΡΡΡ 0 ΠΈ Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ:
repeat {
// ΠΈΠ΄ΡΠΈ Π²Π²Π΅ΡΡ
ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎ Π·ΠΌΠ΅ΡΠΌ ΠΈΠ»ΠΈ Π»Π΅ΡΡΠ½ΠΈΡΠ°ΠΌ
square += board[square]
// Π±ΡΠΎΡΠΈΡΡ ΠΊΡΠ±ΠΈΠΊ
diceRoll += 1
if diceRoll == 7 { diceRoll = 1 }
// Π½Π°ΡΠ°ΡΡ Ρ
ΠΎΠ΄ΠΈΡΡ Π½Π° Π²ΡΠΏΠ°Π²ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π³ΠΎΠ²
square += diceRoll
} while square < finalSquare
print("Game over!")
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π·ΠΌΠ΅ΠΉ ΠΈ Π»Π΅ΡΡΠ½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π±ΡΠΎΡΠΎΠΊ ΠΊΡΠ±ΠΈΠΊΠ° ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ², ΡΠ°Π²Π½ΠΎΠ΅ diceRoll. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° (while square < finalSquare) ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π½ΡΡΠ΅, Π½ΠΎ Π² ΡΡΠΎΡ ΡΠ°Π· ΠΎΠ½ΠΎ Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π°. Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠΈΠΊΠ»Π° repeat-while Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΈΠ³ΡΡ, ΡΠ΅ΠΌ ΡΠΈΠΊΠ» while Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π ΡΠΈΠΊΠ»Π΅ repeat-while Π²ΡΡΠ΅ square += board[square] Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² ΡΠΈΠΊΠ»Π΅ while ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ square Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΠΎΠ»Π΅. Π’Π°ΠΊΠΎΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»Π° repeat-while ΡΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΡ ΠΎΠ΄Π° Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ³ΡΡ.
Β
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ. Π ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΡΠ»ΠΎΠ²Π½ΡΠΌ.
Swift ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° - ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ if ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch. ΠΠ±ΡΡΠ½ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ if, Π΅ΡΠ»ΠΈ Π½Π°ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². Π Π²ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ Π²ΡΠ±ΠΎΡΠ°, ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ , Π³Π΄Π΅ ΠΏΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ if
Π ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΡΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ if ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ if. ΠΡΠ°Β ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ true:
var temperatureInFahrenheit = 30
if temperatureInFahrenheit <= 32 {
print ("It's very cold. Consider wearing a scarf.")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "It's very cold. Consider wearing a scarf.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΠΈΠΆΠ΅ ΠΈΠ»ΠΈ 32 (0 ΠΏΠΎ Π¦Π΅Π»ΡΡΠΈΡ) Π³ΡΠ°Π΄ΡΡΠΎΠ² ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π½Π° ΠΈΠ»ΠΈ Π²ΡΡΠ΅. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π½ΠΈΠΆΠ΅, ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΈ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΈΠ³ΡΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ if.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡΒ if ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² Π²Π΅ΡΠΊΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΊΠ°ΠΊ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠ° else, ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΡΠΆΠ½Π° Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ false. ΠΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ else:
temperatureInFahrenheit = 40
if temperatureInFahrenheit <= 32 {
print("It's very cold. Consider wearing a scarf.")
} else {
print("It's not that cold. Wear a t-shirt.")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "It's not that cold. Wear a t-shirt."
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ. ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ ΡΡΠΎ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π²ΡΡΠΎΡΠ»Π° Π΄ΠΎ 40 Π³ΡΠ°Π΄ΡΡΠΎΠ² Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΠ°, Π·Π½Π°ΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΡΠΈΡΡ ΡΠ°ΡΡ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ else Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ if ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ:
temperatureInFahrenheit = 90
if temperatureInFahrenheit <= 32 {
print("It's very cold. Consider wearing a scarf.")
} else if temperatureInFahrenheit >= 86 {
print("It's really warm. Don't forget to wear sunscreen.")
} else {
print("It's not that cold. Wear a t-shirt.")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "It's really warm. Don't forget to wear sunscreen.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ if, Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°ΠΌ. ΠΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ else ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°ΠΌ, Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ else ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π°, Π΅ΡΠ»ΠΈ Π² Π½Π΅ΠΉ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ:
temperatureInFahrenheit = 72
if temperatureInFahrenheit <= 32 {
print("It's very cold. Consider wearing a scarf.")
} else if temperatureInFahrenheit >= 86 {
print("It's really warm. Don't forget to wear sunscreen.")
}
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π½ΠΈ Π²ΡΡΠΎΠΊΠ°Ρ, Π½ΠΈ Π½ΠΈΠ·ΠΊΠ°Ρ, ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΡ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ switch
ΠΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π»ΠΎ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΡΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. Switch ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ if, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
Π ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°:
switch Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ {
case Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1:
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1
case Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 2, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3:
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 2 ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 3
default:
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
}
ΠΠ°ΠΆΠ΄Π°ΡΒ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΠ»ΠΈ cases, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° case. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Swift ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. ΠΠ± ΡΡΠΈΡ ΠΎΠΏΡΠΈΡΡ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
Π’Π΅Π»Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° case Π² switch - ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ switch ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ if. ΠΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ΠΎ. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠ°ΠΆΠ΄Π°ΡΒ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π΄ΠΎΠ»ΠΆΠ½Π°Β Π±ΡΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅ΠΉ. Π’ΠΎ Π΅ΡΡΡ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΡΠ»ΡΡΠ°Π΅ (case). ΠΡΠ»ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ»ΡΡΠ°Π΅Π², ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ. Π’Π°ΠΊΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ default, ΠΈ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π².
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ switch ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ someCharacter:
let someCharacter: Character = "z"
switch someCharacter {
case "a":
print("The first letter of the alphabet")
case "z":
print("The last letter of the alphabet")
default:
print("Some other character")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "The last letter of the alphabet"
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ΅ΠΉΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switchΒ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠΊΠ²Π΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ° -Β a, Π²ΡΠΎΡΠΎΠΉ ΠΊΠ΅ΠΉΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π±ΡΠΊΠ²Π΅ -Β z. Π’Π°ΠΊ ΠΊΠ°ΠΊΒ switchΒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΠΊΠ΅ΠΉΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡΠΊΠ²Ρ Π°Π»ΡΠ°Π²ΠΈΡΠ°, ΡΠΎ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switchΒ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Β Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π²ΡΡΠΈΡ ΠΊΠ°ΠΊΒ default, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΡΡ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΡΠΎΠΌΠ΅ aΒ ΠΈ z. ΠΠ°ΠΊ ΡΠ°Π· ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ switchΒ Π±ΡΠ΄Π΅Ρ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅ΠΉ.
ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ case-ΠΏΡΠΎΠ²Π°Π»ΠΎΠ²
ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch Π² ΡΠ·ΡΠΊΠ΅ Swift ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch Π² C ΠΈ Objective-C ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Ρ case ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π² Π²Π΅ΡΠΊΠ΅, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° break. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌ Π² C, ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π₯ΠΎΡΡ break Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ Π² Swift, Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΈ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ, Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΊΠΎΠ΄. ΠΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅Β ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Break Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Switch.
Π’Π΅Π»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ΄ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
let anotherCharacter: Character = "a"
switch anotherCharacter {
case "a": // ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ΅ΠΉΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΡΡΠΎΠ΅ ΡΠ΅Π»ΠΎ
case "A":
print("The letter A")
default:
print("Not the letter A")
}
// ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch Π² ΡΠ·ΡΠΊΠ΅ C, switch Π² Swift Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΈ "a", Π½ΠΈ "A". ΠΠΎ Π·Π°ΡΠΎ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ case "a": Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ "ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Π½ΠΈΡ" ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ ΠΈ ΡΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΡΠ°ΡΠΊΠΎΡΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ switch Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ΅ΠΉΡΠΎΠΌΒ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠ»Β ΠΏΠΎΠ΄ "a"Β ΠΈΒ "A",ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΊΠ΅ΠΉΡ, ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΡΠΌΠΈ.
let anotherCharacter: Character = "a"
switch anotherCharacter {
case "a", "A":
print("The letter A")
default:
print("Not the letter A")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "The letter A"
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΊΠ΅ΠΉΡ ΡΠ΄ΠΎΠ±Π½ΠΎ Π±ΡΠ»ΠΎ ΡΠΈΡΠ°ΡΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠΎΡΠΊΠ°ΠΌΠΈ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΄Π°Π»Π΅Π΅ Π² "Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅Β ΠΠ΅ΠΉΡΡ".
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Ρ Π²Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎΒ switch ΠΊΠ΅ΠΉΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅Β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ fallthrough, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ .
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ΅ΠΉΡΠ°Ρ Β switch ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ Π½Π° ΠΈΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π»ΡΠ±ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΡΠ΄ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ:
let approximateCount = 62
let countedThings = "moons orbiting Saturn"
var naturalCount: String
switch approximateCount {
case 0:
naturalCount = "no"
case 1..<5:
naturalCount = "a few"
case 5..<12:
naturalCount = "several"
case 12..<100:
naturalCount = "dozens of"
case 100..<1000:
naturalCount = "hundreds of"
default:
naturalCount = "many"
}
print("There are \(naturalCount) \(countedThings).")
// ΠΡΠ²ΠΎΠ΄ΠΈΡ "There are dozens of moons orbiting Saturn."
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, approximateCount ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ΅ΠΉΡΒ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΈΡΠ»ΠΎΠΌΒ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ approximateCount ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ 12 Π΄ΠΎ 100, naturalCount ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "dozens of", ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch.
ΠΠΎΡΡΠ΅ΠΆΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ Ρ Π»ΡΠ±ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π²Π΅Π»ΠΈΡΠΈΠ½. Π’Π°ΠΊ ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ (_) Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ Π±Π΅ΡΠ΅Ρ ΡΠΎΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x, y), Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ° (Int, Int) ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½ΠΈΠΆΠ΅:
let somePoint = (1, 1)
switch somePoint {
case (0, 0):
print("\(somePoint) is at the origin")
case (_, 0):
print("\(somePoint) is on the x-axis")
case (0, _):
print("\(somePoint) is on the y-axis")
case (-2...2, -2...2):
print("\(somePoint) is inside the box")
default:
print("\(somePoint) is outside of the box")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "(1, 1) is inside the box"

ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ: Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΡΠΎΡΠΊΠ° Π² Π½Π°ΡΠ°Π»Π΅ ΠΎΡΡΡΠ΅ΡΠ° (0,0),Β Π½Π° ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ x,Β Π½Π° ΠΎΡΠ°Π½ΠΆΠ΅Π²ΠΎΠΉ ΠΎΡΠΈ y,Β Π²Π½ΡΡΡΠΈ ΡΠΈΠ½Π΅Π³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° 4Ρ 4, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡΠΊΠ° ΠΎΡΡΡΠ΅ΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°.
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ C, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π² Swift ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π². ΠΡΠΎ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠΎΡΠΊΠ° (0, 0) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΡΠ΅ΡΡΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ°Π·Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ, ΡΠΎ Π² ΡΠ°ΡΡΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ . Π’ΠΎ Π΅ΡΡΡ ΡΠΎΡΠΊΠ° (0, 0) Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΠ»ΡΡΠ°Ρ case (0, 0):, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ.
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΠ΅ΠΉΡ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ, Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ "ΡΠ²ΡΠ·Π°Π½Ρ" Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΠΊΠ΅ΠΉΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ Π±Π΅ΡΠ΅Ρ ΡΠΎΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x, y), ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ° (Int, Int) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΅Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½ΠΈΠΆΠ΅:
let anotherPoint = (2, 0)
switch anotherPoint {
case (let x, 0):
print("on the x-axis with an x value of \(x)")
case (0, let y):
print("on the y-axis with a y value of \(y)")
case let (x, y):
print("somewhere else at (\(x), \(y))")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "on the x-axis with an x value of 2

ΠΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΡΠΎΡΠΊΠ° Π½Π° ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ x ΠΈΠ»ΠΈ ΠΎΡΠ°Π½ΠΆΠ΅Π²ΠΎΠΉ ΠΎΡΠΈ y, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ΅ΠΉ.
Π’ΡΠΈ ΡΠ»ΡΡΠ°Ρ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ x, y, ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΊΠΎΡΡΠ΅ΠΆΠ° anotherPoint. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΊΠ΅ΠΉΡΠ΅ (let x, 0): ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π»ΡΠ±Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ y ΡΠ°Π²Π½ΡΠΌ 0, Π° Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ x Π·Π°ΠΏΠΈΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x Π½Π°ΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° case (0, let y), ΡΡΠΎΡ ΠΊΠ΅ΠΉΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΡΠ°Π²Π½ΠΎΠΉ 0, ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ y Π² Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ y.
ΠΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠ΅ΠΉΡΠ°. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ print.
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»ΡΡΠ°Ρ default. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠ΅ΠΉΡ let (x, y)Β ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΆΒ Π΄Π²ΡΡ Β ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΏΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡΒ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΡΠ±ΠΎΠΌΡΒ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ anotherPointΒ ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆ Ρ Π΄Π²ΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΎΡ ΠΊΠ΅ΠΉΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΊΠ΅ΠΉΡΒ default ΡΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊΒ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ°Ρ.
Where
Π ΠΊΠ΅ΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch ΠΌΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° where.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΡΠΊΡ (x, y) Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅:
let yetAnotherPoint = (1, -1)
switch yetAnotherPoint {
case let (x, y) where x == y:
print("(\(x), \(y)) is on the line x == y")
case let (x, y) where x == -y:
print("(\(x), \(y)) is on the line x == -y")
case let (x, y):
print("(\(x), \(y)) is just some arbitrary point")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "(1, -1) is on the line x == -y"

ΠΠ½ΡΡΡΡΠΊΡΠΈΡ switch ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΡΠΎΡΠΊΠ° Π½Π° Π·Π΅Π»Π΅Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π³Π΄Π΅ x == y, ΠΈΠ»ΠΈ ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π³Π΄Π΅ x == -y, ΠΈΠ»ΠΈ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π½ΠΈ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ.
Π’ΡΠΈ ΠΊΠ΅ΠΉΡΠ° ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ x, y, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π±Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΡΡΠ΅ΠΆΠ° yetAnotherPoint. ΠΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ where, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ°. ΠΠ΅ΠΉΡ switch ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ point ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠΈ where Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠ΅ΠΉΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ default ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ switch ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅ΠΉ.
Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΊΠ΅ΠΉΡΡ
ΠΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ΅ΠΉΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΠΈΡ ΠΊΠ΅ΠΉΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° case. ΠΡΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΊΠ΅ΠΉΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ Π·Π½Π°ΡΠΈΡΒ ΠΈ ΡΠ°ΠΌ ΠΊΠ΅ΠΉΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π¨Π°Π±Π»ΠΎΠ½Ρ Π² ΠΊΠ΅ΠΉΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, Π΅ΡΠ»ΠΈ ΠΈΡ Β ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
let someCharacter: Character = "e"
switch someCharacter {
case "a", "e", "i", "o", "u":
print("\(someCharacter) is a vowel")
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
print("\(someCharacter) is a consonant")
default:
print("\(someCharacter) is not a vowel or a consonant")
}
// ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ "e is a vowel"
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ΅ΠΉΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ°Π·ΡΒ Π²ΡΠ΅ ΠΏΡΡΡ Π³Π»Π°ΡΠ½ΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ΅ΠΉΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ½ΡΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠ΅ΠΉΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΊΠ΅ΠΉΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΠΊΠ΅ΠΉΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π½Π°Π±ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ²ΡΠ·ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° ΠΈΠ· Π²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ°. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ° ΡΠΎΠ²ΠΏΠ°Π»Π° ΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ΄ Π² ΡΠ΅Π»Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Β ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΈ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
let stillAnotherPoint = (9, 0)
switch stillAnotherPoint {
case (let distance, 0), (0, let distance):
print("On an axis, \(distance) from the origin")
default:
print("Not on an axis")
}
// ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ "On an axis, 9 from the origin"
ΠΠ΅ΠΉΡ Π²ΡΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΡΠ°Π±Π»ΠΎΠ½Π°: (let distance, 0), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π½Π° ΠΎΡΠΈ x, ΠΈ (0, let distance), ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΡΠΊΠ΅ Π½Π° ΠΎΡΠΈ y. Π ΡΠΎΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π΄Π»Ρ distance ΠΈ distance ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π΄Π²ΡΡ ΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΠΊΠ΅ΠΉΡΠ° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ distance.
Β
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° Π΄ΡΡΠ³ΠΎΠΌΡ. Π Swift Π΅ΡΡΡ ΠΏΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²Β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
- continue
- break
- fallthrough
- return
- throw
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ continue, break, fallthrough Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ ,Β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ return Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ Π² Π³Π»Π°Π²Π΅ Π€ΡΠ½ΠΊΡΠΈΠΈ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ throwΒ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ Π²Β ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Continue
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ continue Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΈΠΊΠ»Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΈ Π½Π°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ. ΠΠ½ ΠΊΠ°ΠΊ Π±Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ: "Π― Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ", Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° Π½Π΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΒ Π³Π»Π°ΡΠ½ΡΠ΅ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅Β ΠΈΠ· ΡΡΡΠΎΠΊΠΈ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΡ ΡΡΠ°Π·Ρ-Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΡ:
let puzzleInput = "great minds think alike"
var puzzleOutput = ""
let charactersToRemove: [Character] = ["a", "e", "i", "o", "u", " "]
for character in puzzleInput {
if charactersToRemove.contains(character) {
continue
} else {
puzzleOutput.append(character)
}
}
print(puzzleOutput)
// ΠΡΠ²Π΅Π΄Π΅Ρ "grtmndsthnklk"
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ continue, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ Π³Π»Π°ΡΠ½ΡΠΌΠΈ Π·Π²ΡΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π½Π°ΡΠ°Π»ΠΎ Π½ΠΎΠ²ΠΎΠΉ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Break
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ break ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ break ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π²Π½ΡΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ switch ΠΈΠ»ΠΈ ΡΠΈΠΊΠ»Π° ΡΠ°Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡΡ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Break Π² ΡΠΈΠΊΠ»Π΅
ΠΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΡΠΎ ΠΎΠ½Β Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΒ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡΒ ΡΠΈΠΊΠ»Π°, ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΈΠΊΠ»Π° (}).Β ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Break Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Switch
ΠΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch, ΡΠΎ ΠΎΠ½ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΈΠ΄ΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ (}) ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch.
Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ΅ΠΉΡΠΎΠ² Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ°Ρ ΠΈ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΡΡΡΡ ΠΊΠ΅ΠΉΡΠΎΠ², ΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ΅ΠΉΡΡΒ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°ΡΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΡΠΌΠΈ. ΠΡ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΡΠΈΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ break Π² ΡΠ΅Π»Π΅ ΠΊΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΊΠ΅ΠΉΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ ΠΏΠΎΠ΄ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΡΠΎ break ΡΡΠ°Π·Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠ΅ΠΉΡ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ - ΡΡΠΎ Π½Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ΅ΠΉΡΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ΅ΠΉΡΒ switch, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ break.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Character ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ². ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊΠΎΠ² Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ΅ΠΉΡ Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ:
let numberSymbol: Character = "δΈ" // Π¦ΠΈΡΡΠ° 3 Π² ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΠΈΡΠ°ΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
var possibleIntegerValue: Int?
switch numberSymbol {
case "1", "Ω‘", "δΈ", "ΰΉ":
possibleIntegerValue = 1
case "2", "Ω’", "δΊ", "ΰΉ":
possibleIntegerValue = 2
case "3", "Ω£", "δΈ", "ΰΉ":
possibleIntegerValue = 3
case "4", "Ω€", "ε", "ΰΉ":
possibleIntegerValue = 4
default:
break
}
if let integerValue = possibleIntegerValue {
print("The integer value of \(numberSymbol) is \(integerValue).")
} else {
print("An integer value could not be found for \(numberSymbol).")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "The integer value of δΈ is 3."
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ numberSymbol Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π² Π½Π΅ΠΌ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 4 Π½Π° Π°ΡΠ°Π±ΡΠΊΠΎΠΌ, Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΌ, ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ°ΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ°Ρ . ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ΅ΠΉΡΠΎΠ² switch ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Int?, Π½Π°Π·Π²Π°Π½Π½ΡΡ possibleIntegerValue Π² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π»ΠΈΡΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ possibleIntegerValue ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎΠ΅ nil Π² ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ possibleIntegerValue Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠ΅ΠΉΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Β ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ Π½Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Character, ΡΠΎ ΠΊΠ΅ΠΉΡΒ default ΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ΅ΡΡΡΠ΅ΠΌ ΠΊΠ΅ΠΉΡΠ°ΠΌ. ΠΠ΅ΠΉΡΡΒ default Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ΅ΠΉΡΒ default, ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈ break, ΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch ΠΈ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Ρ if let.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Fallthrough
ΠΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π² Swift Π½Π΅ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ°Β Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ. ΠΠ°ΠΏΡΠΎΡΠΈΠ², ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΊΠ΅ΠΉΡΠΎΠΌ, ΡΠ°ΠΊ ΡΡΠ°Π·Ρ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. Π Π² ΡΠ·ΡΠΊΠ΅ C, ΡΠ°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠ»ΠΎΠ²ΠΎΠΌ break Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ΅ΠΉΡΠ°, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΠΌΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎ break. ΠΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΎΠ² Π·Π½Π°ΡΠΈΡ ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π² Swift Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠ°Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠ°Ρ, ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΆΠ΅ Π² C, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ΅ΠΉΡΠΎΠ² ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π² C, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ fallthrough Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΠ΅ΠΉΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ fallthrough Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°:
let integerToDescribe = 5
var description = "The number \(integerToDescribe) is"
switch integerToDescribe {
case 2, 3, 5, 7, 11, 13, 17, 19:
description += " a prime number, and also"
fallthrough
default:
description += " an integer."
}
print(description)
// ΠΡΠ²Π΅Π΄Π΅Ρ "The number 5 is a prime number, and also an integer."
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ°Β String, Π½Π°Π·Π²Π°Π½Π½ΡΡ description ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠΎΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ integerToDescribe, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ integerToDescribe ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ΅ΠΉΡΠ°, ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² default, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅ Π² ΡΡΠ°Π±ΠΎΡΠ°Π²ΡΠ΅ΠΌ ΠΊΠ΅ΠΉΡΠ΅ ΡΡΠΎΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ fallthrough, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ integerToDescribe Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΏΠΈΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΡΠ΅Π³ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ°, ΡΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ΅ΠΉΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π΅ Π²ΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ΅ΠΉΡ, ΠΈ integerToDescribe ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ Π΅ΡΡΡ Π² default.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ print(_:separator:terminator:). Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 5, ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ fallthrough Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊΠ΅ΠΉΡΠ°, ΠΎΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π°Π»ΠΈΡΡΡΡ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ° Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈΠ»ΠΈ Π² default, ΡΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch Π² ΡΠ·ΡΠΊΠ΅ C.
ΠΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠΈΠΊΠ»Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ switch ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΈΠΊΠ»Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ break, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΡΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. Π ΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ break. Π’Π°ΠΊ ΠΆΠ΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ², ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ continue.
ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ break ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ continue Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
ΠΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΠΌΠ΅ΡΠΊΠΎΠΉ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠ°Π»Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΈΠΊΠ»Π° while, Ρ ΠΎΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΌΠ°ΡΠΊΠ΅ΡΠ° ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ:
ΠΈΠΌΡ ΠΌΠ°ΡΠΊΠ΅ΡΠ°: while ΡΡΠ»ΠΎΠ²ΠΈΠ΅ {
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄
}
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ break, continue Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ while Π΄Π»Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΠΌΠ΅ΠΈ ΠΈ ΠΠ΅ΡΡΠ½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅ Π² "Π¦ΠΈΠΊΠ»Ρ While". Π ΡΡΠΎΡ ΡΠ°Π· Ρ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ:
- Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ ΡΠΎΡΠ½ΠΎ Π½Π° ΠΊΠ»Π΅ΡΠΊΡ 25.
ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠΎΡΠΊΠ° ΠΊΡΠ±ΠΈΠΊΠ° Π΄Π°Π΅Ρ Π²Π°ΠΌ Ρ ΠΎΠ΄ΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 25 ΠΊΠ»Π΅ΡΠΊΡ, ΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠΎΡΠΈΡΡ Π΅ΡΠ΅ ΡΠ°Π·, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π΅ΡΠ΅ ΡΠΎΡΠ½ΠΎ Π½Π° ΠΊΠ»Π΅ΡΠΊΡ 25.
ΠΠ³ΡΠΎΠ²Π°Ρ Π·ΠΎΠ½Π° Π΄ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π±ΡΠ»Π°:

ΠΠ΅Π»ΠΈΡΠΈΠ½Ρ finalSquare, board, square ΠΈ diceRoll ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΡΠ»ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΈΠ³ΡΡ:
let finalSquare = 25
var board = [Int](repeating: 0, count: finalSquare + 1)
board[03] = +08; board[06] = +11; board[09] = +09; board[10] = +02
board[14] = -10; board[19] = -11; board[22] = -02; board[24] = -08
var square = 0
var diceRoll = 0
Π ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» while ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ switch Π΄Π»Ρ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³ΡΡ. Π¦ΠΈΠΊΠ» while ΠΌΠ°ΡΠΊΠ΅Ρ Π½Π°Π·Π²Π°Π½Π½ΡΠΉ gameLoop, Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈΠ³ΡΡ.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° while square != finalSquare ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ ΡΡΡΠΎΠ³ΠΎ Π½Π° ΠΊΠ»Π΅ΡΠΊΡ 25:
gameLoop: while square != finalSquare {
diceRoll += 1
if diceRoll == 7 { diceRoll = 1 }
switch square + diceRoll {
case finalSquare:
//ΠΏΠΎΡΠ»Π΅ Π±ΡΠΎΡΠΊΠ° ΠΊΡΠ±ΠΈΠΊΠ° ΠΌΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΠΊΠ»Π΅ΡΠΊΡ 25, ΠΈΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°
break gameLoop
case let newSquare where newSquare > finalSquare:
//ΠΌΡ ΠΊΠΈΠ½ΡΠ»ΠΈ ΠΊΡΠ±ΠΈΠΊ Π½Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π·Π½Π°ΡΠΈΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠΈΠ½ΡΡΡ ΡΠ½ΠΎΠ²Π°
continue gameLoop
default:
//Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ, Π΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ
square += diceRoll
square += board[square]
}
}
print("Game over!")
ΠΠ³ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΡΡΡ Π±ΡΠΎΡΠ°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ Π΄ΠΎΡΠΊΠ΅ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ Ρ ΠΎΠ΄Π°, ΠΏΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ:
- ΠΡΠ»ΠΈ ΠΈΠ³ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΡΡΡ Π΄Π²ΠΈΠ³Π°Π΅Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠ»Π΅ΡΠΊΡ, ΠΈΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ break Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠΌ gameLoop ΠΏΠ΅ΡΠ΅ΠΊΠΈΠ΄ΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° while, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΈΠ³ΡΡ.
- ΠΡΠ»ΠΈ ΠΈΠ³ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΡΡΡ Π΄Π²ΠΈΠ³Π°Π΅Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π΄Π°Π»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠ»Π΅ΡΠΊΡ, ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ, ΠΈ ΠΈΠ³ΡΠΎΠΊΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΈΠ΄Π°ΡΡ ΠΊΠΎΡΡΡ Π΅ΡΠ΅ ΡΠ°Π·. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ continue Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠΌ gameLoop Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π½ΠΎΠ²ΡΡ.
- ΠΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π° diceRoll ΠΊΠ»Π΅ΡΠΎΠΊ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ ΠΎΠ΄ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³ΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π»Π΅ΡΡΠ½ΠΈΡ ΠΈ Π·ΠΌΠ΅ΠΉ. ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΠ°Π΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ, ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΠΈΠΊΠ»Π° while, Π³Π΄Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ Ρ ΠΎΠ΄ΠΎΠ².
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ°ΡΠΊΠ΅Ρ gameLoop, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ switch, Π° Π½Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° while. ΠΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΡΠΊΠ΅Ρ gameLoop ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΡΠ²Π°ΡΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΊΠ΅Ρ gameLoop, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ continue gameLoop Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. Π ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ», ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄Π²ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ΅Π΄Π° Π½Π΅Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ gameLoop ΠΌΠ°ΡΠΊΠ΅Ρ Π² ΡΡΡΠΎΠΊΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ continue. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π΄Π΅Π»Π°Ρ ΡΠ°ΠΊ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π½Π°Ρ ΠΊΠΎΠ΄ Π½Π°Π³Π»ΡΠ΄Π½Π΅Π΅ ΠΈ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³ΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΡΠΌ.
Π Π°Π½Π½ΠΈΠΉ Π²ΡΡ ΠΎΠ΄
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ guard, ΠΊΠ°ΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΒ if, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ guard, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ true, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΠΌΠΎΠΉΒ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ guard Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ if, guard Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ else, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ false.
func greet(person: [String: String]) {
guard let name = person["name"] else {
return
}
print("ΠΡΠΈΠ²Π΅Ρ \(name)!")
guard let location = person["location"] else {
print("ΠΠ°Π΄Π΅ΡΡΡ Ρ ΡΠ΅Π±Ρ ΡΠ°ΠΌ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π°.")
return
}
print("ΠΠ°Π΄Π΅ΡΡΡ Π² \(location) Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π°.")
}
greet(person: ["name": "John"])
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ John!"
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΠ°Π΄Π΅ΡΡΡ Ρ ΡΠ΅Π±Ρ ΡΠ°ΠΌ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π°."
greet(person: ["name": "Jane", "location": "Cupertino"])
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ Jane!"
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΠ°Π΄Π΅ΡΡΡ Π² Cupertino Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π°.β
ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ guard Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ guard. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ guard, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π°ΠΌ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ, Π³Π΄Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ guard.
ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ else. ΠΡΠ° Π²Π΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅ΡΠ΅Π±ΡΠΎΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ guard. Π ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉΒ return, break, continue, throw ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ fatalError(_file:line:).
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΒ guard Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ if. ΠΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² Π±Π»ΠΎΠΊ else ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡΡΠ΄ΠΎΠΌ Ρ ΡΠ°ΠΌΠΈΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ API
Π Swift Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°ΡΒ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°Β Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ API, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎΒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅Β Β API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅Β Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉΒ deployment target.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π² SDK, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅Β Π² ΠΊΠΎΠ΄Π΅, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ deployment target, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Β Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. Swift Π²ΡΠ΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ API.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π²Β ifΒ ΠΈΠ»ΠΈΒ guardΒ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±ΡΒ ΡΡΠ»ΠΎΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ,Β Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΒ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²Β Π² ΡΡΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°.
if #available(iOS 10, macOS 10.12, *) {
// ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ API iOS 10 Π΄Π»Ρ iOS ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ API macOS 10.12 Π½Π° macOS
} else {
// ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ API Π΄Π»Ρ iOS ΠΈ macOS
}
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π²ΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½Π° iOSΒ ΡΠ΅Π»ΠΎ ifΒ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° iOSΒ 10 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ; ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡΒ macOS:Β ΡΠΎΠ»ΡΠΊΠΎ Π½Π° macOS 10.12 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ . ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, *, ΡΡΠ΅Π±ΡΠ΅ΡΒ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, ΡΠ΅Π»ΠΎ ifΒ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉΒ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ deployment target.
Π ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅Β ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π²Π΅ΡΡΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ iOS,Β macOS,Β watchOS, ΠΈΒ tvOS;Β ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΡΡΠΈΠ±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ iOS 8 ΠΈΠ»ΠΈ macOS 10.10, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½ΠΎΠΌΠ΅ΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ iOS 8.3 ΠΈ macOS 10.10.3.
- if #available (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π²Π΅ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ..., * ) {
- Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ API Π΄ΠΎΡΡΡΠΏΠ½Ρ
- } else {
- Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ API Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ
- }