Destrukturointi ja avainsanojen käyttö
Destrukturointi ja avainsanat ovat idiomaattisen Clojuren jokapäiväisiä työkaluja. Tässä oppitunnissa opit poimimaan arvoja siististi kartoista ja vektoreista sekä käyttämään avainsanoja nopeina ja itsedokumentoivina avaimina.
Destrukturointi ja avainsanojen käyttö on ilmainen Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-kurssilla on yhteensä 4 oppituntia.
Avainsanat avaimina
Avainsana alkaa kaksoispisteellä, kuten :name. Avainsanat internoidaan, niitä verrataan nopeasti ja ne evaluoituvat itsekseen.
(def user {:name "Ada" :role :admin})
(println user)Avainsanat ovat funktioita
Avainsana on myös funktio: (:name user) hakee avainsanan avulla arvon mapista — tämä on yleisin tapa lukea arvo.
(def user {:name "Ada" :role :admin})
(println (:name user))
(println (:missing user :default))Miksi destrukturointi?
Destrukturointi sitoo kokoelman osia nimiin yhdellä kertaa, poistaa toistuvat haut ja tekee tarkoituksesta ilmeisen.
Vektorin destrukturointi
Vektorin destrukturoinnilla sidotte paikat suoraan let-lausekkeen sisällä.
(let [[a b c] [10 20 30]]
(println a b c))Loppuosa &-merkillä
Käyttäkää &-merkkiä sekvenssin loppuosan sitomiseen yhteen nimeen.
(let [[first & others] [1 2 3 4]]
(println first)
(println others))Mapin destrukturointi
Mapin destrukturointi :keys-lyhenteen avulla poimii nimetyt avaimet suoraan mapista.
(let [{:keys [name role]} {:name "Ada" :role :admin}]
(println name role))Oletusarvot :or-avainsanalla
Antakaa puuttuville avaimille varaarvot :or-avainsanalla, jotta puuttuvat arvot saavat järkevän oletusarvon.
(let [{:keys [name level] :or {level 1}} {:name "Ada"}]
(println name level))Destrukturointi funktion argumenteissa
Destrukturoikaa suoraan parametriluettelossa, jotta voitte kirjoittaa selkeitä, deklaratiivisia funktioita.
(defn greet [{:keys [name]}]
(str "Hello, " name))
(println (greet {:name "Ada"}))Sisäkkäinen destrukturointi
Voitte sisäkkäistää destrukturoinnin ja poimia arvoja sisäkkäisistä rakenteista yhdellä sidontalausekkeella.
(let [{{:keys [city]} :address} {:address {:city "Oslo"}}]
(println city))Nimiavaruudelliset avainsanat
Nimiavaruudelliset avainsanat, kuten :user/id, estävät nimien törmäykset eri toimialueiden välillä — tämä on vakiintunut käytäntö spekseissä ja suurissa järjestelmissä.
(def record {:user/id 7 :user/name "Ada"})
(println (:user/id record))Pidä koodi luettavana
Destrukturoinnista voi tulla vaikeaselkoista, joten pitäkää se matalana; käyttäkää eksplisiittisiä hakuja, kun syvä sisäkkäisyys heikentää luettavuutta.
Pikatesti
Testaa destrukturointia koskevat tietosi.
Kertaus
Kertaus: avainsanat nopeina avaimina ja funktioina, vektorin ja mapin destrukturointi, oletusarvot :or-avainsanalla, sisäkkäisyys ja nimiavaruudet sekä tieto siitä, milloin rakenne kannattaa pitää yksinkertaisena.
Opi Clojure 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
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Destrukturointi ja avainsanojen käyttö” ilmainen?
Kyllä – oppitunnin ”Destrukturointi ja avainsanojen käyttö” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-kurssin, päivitä CoddyKit PROhon. Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Destrukturointi ja avainsanojen käyttö”?
Destrukturointi ja avainsanat ovat idiomaattisen Clojuren jokapäiväisiä työkaluja. Tässä oppitunnissa opit poimimaan arvoja siististi kartoista ja vektoreista sekä käyttämään avainsanoja nopeina ja i… Harjoittelet Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Destrukturointi ja avainsanojen käyttö”-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ä Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-oppitunnilla?
Kyllä. Jokainen Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-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
- Clojuren ja JVM:n perusteet
- Keskeiset tietorakenteet ja syntaksi
- REPL-lähtöinen kehitystyönkulku
- Destrukturointi ja avainsanojen käyttö