Alueiden ja tuplejen täsmäyttäminen
Valitse haarat numeeristen alueiden ja tuple-rakenteiden perusteella.
Alueiden ja tuplejen täsmäyttäminen on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Alueen täsmäyttäminen
Case voi täsmäyttää kokonaisen arvoalueen käyttämällä alueoperaattoreita, kuten 1...5. Jos arvo kuuluu alueelle, case suoritetaan.
let score = 85
switch score {
case 0..<50:
print("Fail")
case 50...100:
print("Pass")
default:
print("Invalid")
}Suljettu ja puoliavoin alue
Käyttäkää suljettuja alueita (...), kun yläraja kuuluu mukaan, ja puoliavoimia alueita (..<), kun se jätetään pois. Valitkaa rajat niin, etteivät alueet mene päällekkäin.
let age = 18
switch age {
case 0..<13:
print("Child")
case 13..<20:
print("Teen")
default:
print("Adult")
}Alue-casejen järjestys
Swift tarkistaa caset ylhäältä alas ja suorittaa ensimmäisen täsmäävän casen, joten toisistaan erilliset alueet pitävät toiminnan ennakoitavana.
let temp = 30
switch temp {
case ..<0:
print("Freezing")
case 0..<20:
print("Cool")
case 20...:
print("Warm")
default:
print("?")
}Tuplien täsmäyttäminen switchilla
Voitte käyttää switch-rakennetta tupleen täsmäyttämiseen ja käsitellä useita arvoja kerralla. Jokainen kohta voi olla literaali, alue tai jokerimerkki _.
let point = (1, 1)
switch point {
case (0, 0):
print("Origin")
case (_, 0):
print("On x-axis")
case (0, _):
print("On y-axis")
default:
print("Elsewhere")
}Jokerimerkit tupleissa
Alaviiva _ täsmää mihin tahansa kyseisen kohdan arvoon, joten voitte keskittyä haluamiinne osiin.
let result = (200, "OK")
switch result {
case (200, _):
print("Success")
case (_, "Error"):
print("Has error")
default:
print("Other")
}Alueet tupleissa
Tuplekuvioissa voi käyttää kussakin kohdassa alueita, mikä mahdollistaa tehokkaan kaksiulotteisen täsmäytyksen.
let coord = (3, 8)
switch coord {
case (0...5, 0...5):
print("Bottom-left quadrant")
case (0...5, 6...10):
print("Top-left quadrant")
default:
print("Far")
}Täsmällisten tuplejen täsmäyttäminen
Voitte täsmäyttää kokonaan määritellyn tuplen tunnistaaksenne tietyn tarkan yhdistelmän.
let move = ("up", 2)
switch move {
case ("up", 2):
print("Jump twice up")
case ("down", _):
print("Going down")
default:
print("Other move")
}Lukujen luokittelu
Alueiden täsmäyttäminen tekee luvun luokittelusta eri ryhmiin selkeää ja suoraviivaista.
let n = -4
switch n {
case ..<0:
print("negative")
case 0:
print("zero")
case 1...:
print("positive")
default:
print("?")
}Merkkialueet
Koska merkkejä voi verrata keskenään, voitte täsmäyttää myös merkkialueita.
let ch: Character = "k"
switch ch {
case "a"..."m":
print("First half")
case "n"..."z":
print("Second half")
default:
print("Not a lowercase letter")
}Tuple-kohtien yhdistäminen
Tupletäsmäytys arvioi kaikki kohdat yhdessä; jokaisen kohdan on täsmättävä, jotta case suoritetaan.
let weather = (sunny: true, temp: 25)
switch (weather.sunny, weather.temp) {
case (true, 20...):
print("Nice and warm")
case (true, _):
print("Sunny but cool")
default:
print("Not sunny")
}Miksi tämä on tehokasta
Alue- ja tuplekuvioiden avulla yksi switch voi ilmaista logiikan, joka vaatisi muuten monia sisäkkäisiä if-lauseita, ja rakenne säilyy suorana ja helposti luettavana.
let (x, y) = (0, 5)
switch (x, y) {
case (0, 0): print("origin")
case (0, _): print("y-axis")
case (_, 0): print("x-axis")
default: print("plane")
}Pikatesti
Testatkaa alueiden ja tuplejen täsmäytystä.
Kertaus: Alueiden ja tuplejen täsmäyttäminen
Caset voivat täsmäyttää alueita, kuten 1...5 ja 0..<n, ja tuplekuvioilla voi täsmäyttää useita arvoja kerralla käyttäen literaaleja, alueita ja jokerimerkkiä _.
let p = (0, 4)
switch p {
case (0, _): print("y-axis")
default: print("other")
}Opi Swift tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Alueiden ja tuplejen täsmäyttäminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Alueiden ja tuplejen täsmäyttäminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Alueiden ja tuplejen täsmäyttäminen”?
Valitse haarat numeeristen alueiden ja tuple-rakenteiden perusteella. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Alueiden ja tuplejen täsmäyttäminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Kattava switch-arvojen käsittely
- Alueiden ja tuplejen täsmäyttäminen
- Arvojen sitominen ja where-lausekkeet
- Yhdistetyt tapaukset ja fallthrough