Taulukko- ja hash-kuviot
Pura tietoja.
Taulukko- ja hash-kuviot on ilmainen Ruby 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 Ruby Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ruby Academy-kurssilla on yhteensä 4 oppituntia.
Array-hahmot
Array-hahmo sovittaa sijainnin ja pituuden perusteella. Jokainen alihahmo tarkistetaan vastaavaa alkiota vasten.
case [1, 2, 3]
in [1, 2, 3]
puts 'exact match'
endArray-alkioiden sitominen
Kaapatkaa kukin sijainti muuttujaan käyttämällä tunnisteita.
case [10, 20]
in [x, y]
puts(x + y)
endPituudella on merkitystä
Array-hahmo vaatii oletusarvoisesti täsmälleen oikean pituuden. Kahden alkion hahmo ei sovi kolmen alkion arrayhin.
case [1, 2, 3]
in [a, b]
puts 'two'
in [a, b, c]
puts 'three'
endSplat lopuille alkioille
Splat *rest kaappaa jäljelle jäävät alkiot lukumäärästä riippumatta arrayhin, joten pituus voi vaihdella.
case [1, 2, 3, 4]
in [first, *rest]
puts(first)
p rest
endSplat keskellä
Splat voi olla kiinteiden alkioiden välissä, jolloin se poimii alun ja lopun ja ohittaa keskiosan.
case [1, 2, 3, 4, 5]
in [first, *, last]
puts("#{first} ... #{last}")
endHash-hahmot
Hash-hahmo sovittaa avainten perusteella. Se tarkistaa, että annetut avaimet ovat olemassa ja että niiden arvot sopivat; ylimääräiset avaimet sallitaan.
case { name: 'Ada', age: 36 }
in { name: 'Ada' }
puts 'found Ada'
endHash-arvojen sitominen
Kaapatkaa arvo antamalla avaimelle sidontanimi. Pelkän avaimen kirjoittaminen sitoo arvon samannimiseen muuttujaan.
case { name: 'Bob', age: 25 }
in { name: String => n, age: Integer => a }
puts("#{n} is #{a}")
endAvaimen sidonnan lyhyt muoto
Kun avaimen jälkeinen hahmo jätetään pois, muuttuja sidotaan automaattisesti avaimen mukaan nimettyyn muuttujaan.
case { city: 'Istanbul' }
in { city: }
puts(city)
endYlimääräisten avainten kieltäminen
Hash-hahmot ohittavat ylimääräiset avaimet oletusarvoisesti. Lisätkää **nil, jos haluatte vaatia, että mukana ovat vain luetellut avaimet.
case { a: 1 }
in { a: 1, **nil }
puts 'exactly one key'
endSisäkkäiset hahmot
Hahmoja voi sisäistää vapaasti, joten voitte purkaa syviä rakenteita yhdessä haarassa.
data = { user: { name: 'Ada', tags: ['admin', 'dev'] } }
case data
in { user: { name:, tags: [first_tag, *] } }
puts("#{name}: #{first_tag}")
endJäsennetyn JSONin sovittaminen
Hahmonsovitus toimii erinomaisesti jäsennetyn JSON- tai CSV-datan kanssa ja poimii juuri tarvitsemamme kentät.
require 'json'
resp = JSON.parse('{"status":"ok","items":[1,2,3]}', symbolize_names: true)
case resp
in { status: 'ok', items: }
puts(items.sum)
endPikatarkistus
Sovittaako hash-hahmo in { a: 1 } oletusarvoisesti hashin { a: 1, b: 2 }?
Kertaus: Array- ja Hash-hahmot
Osaatte purkaa kokoelmia:
- Array-hahmot sovittavat sijainnin ja pituuden perusteella
*restkaappaa jäljelle jäävät alkiot- Hash-hahmot sovittavat avaimen perusteella ja sallivat ylimääräiset avaimet
- Lyhyt muoto
{ key: }sitoo samannimiset muuttujat **nilkieltää ylimääräiset avaimet ja hahmot voivat olla syvästi sisäkkäisiä
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
endOpi Ruby 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
- 29
- Oppitunnit
- 109
Usein kysytyt kysymykset
Onko oppitunti ”Taulukko- ja hash-kuviot” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Ruby Academy-oppimispolun 3 oppituntia, myös oppitunnin “Taulukko- ja hash-kuviot”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Ruby Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Taulukko- ja hash-kuviot”?
Pura tietoja. Harjoittelet Ruby Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Ruby Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Ruby 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 ”Taulukko- ja hash-kuviot”-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ä Ruby Academy-oppitunnilla?
Kyllä. Jokainen Ruby 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
- case/in-perusteet
- Taulukko- ja hash-kuviot
- Find-kuviot ja vartioehdot
- Käytännön käyttötapaukset