Swift Academy · Oppitunti

Alueiden ja tuplejen täsmäyttäminen

Valitse haarat numeeristen alueiden ja tuple-rakenteiden perusteella.

Oppitunti 2/413 vaihetta

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")
}
Aloita maksutta

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

  1. Kattava switch-arvojen käsittely
  2. Alueiden ja tuplejen täsmäyttäminen
  3. Arvojen sitominen ja where-lausekkeet
  4. Yhdistetyt tapaukset ja fallthrough
← Takaisin: Swift Academy