Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys · Oppitunti

Keskeiset tietorakenteet ja syntaksi

Tutustutte Clojuren keskeisiin tietorakenteisiin, kuten listoihin, vektoreihin, map-rakenteisiin ja joukkoihin, sekä perussyntaksiin.

Oppitunti 2/411 vaihetta

Keskeiset tietorakenteet ja syntaksi on ilmainen Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.

Clojuren rakennuspalikat

Siirrytään nyt ytimeen: Clojuren perustavanlaatuisiin tietorakenteisiin ja yksinkertaiseen syntaksiin, joka tekee kielestä niin ilmaisuvoimaisen.

S-lausekkeet: keskeinen syntaksi

Clojure rakentuu S-lausekkeista: sulkeisiin kirjoitetuista listoista, joissa ensimmäinen alkio on funktio ja loput sen argumentteja. Kaikki on lauseke.

Perusliteraalit: luvut ja merkkijonot

Perus-literaaleja ovat luvut, lainausmerkeillä ympäröidyt merkkijonot sekä totuusarvot true/false — jokainen evaluoituu itsekseen.

 (ns coddykit.core
   (:gen-class))

 (defn -main
   "Basic literals in action."
   [& args]
   (println 123)
   (println "Hello, CoddyKit!")
   (println true))

Listat: järjestettyjä ja joustavia

Sulkeissa oleva lista tulkitaan oletusarvoisesti funktiokutsuksi. Jos haluatte käyttää sitä datana, lainatkaa se heittomerkillä, kuten '(1 2 3).

Vektorit: indeksoituja ja tehokkaita

Vektorit käyttävät hakasulkeita, ja niiden indeksointi alkaa nollasta. Suosikaa niitä listojen sijaan, kun tarvitsette nopeaa sijaintiin perustuvaa käyttöä.

 (ns coddykit.core
   (:gen-class))

 (defn -main
   "Lists and Vectors demo."
   [& args]
   (let [my-list '(apple banana cherry)
         my-vec [10 20 30]]
     (println "First list item:" (first my-list))
     (println "Second vector item:" (nth my-vec 1))))

Mapit: avain-arvo-parit

Mapit tallentavat avain-arvo-pareja aaltosulkeisiin, yleensä avaiminaan avainsanoja, kuten :name — ne sopivat erinomaisesti jäsenneltyyn dataan.

Joukot: yksikäsitteisiä ja järjestämättömiä

#{}-merkinnällä määritetty joukko sisältää yksikäsitteisiä, järjestämättömiä alkioita ja poistaa kaksoiskappaleet huomaamatta. Se sopii erinomaisesti nopeisiin jäsenyystarkistuksiin.

Avainsanat: itsensä evaluoivat tunnisteet

Avainsanat alkavat kaksoispisteellä, kuten :email. Ne ovat itsensä evaluoivia vakioita, joita käytetään kaikkialla tehokkaina mapien avaimina.

 (ns coddykit.core
   (:gen-class))

 (defn -main
   "Maps, Sets, and Keywords demo."
   [& args]
   (let [person {:name "Alice" :age 30 :city "London"}
         skills #{"Clojure" "Java" "SQL"}] 
     (println "Person's name:" (:name person))
     (println "Has Clojure skill?" (contains? skills "Clojure"))))

Symbolit: asioihin viittaaminen

Symboli on muuttujaan tai funktioon viittaava nimi. Clojure ratkaisee sen evaluoinnin yhteydessä; lainaamalla sen ('sym) voitte käsitellä sitä datana.

Pikatarkistus: Clojuren rakenteet

Mikä seuraavista Clojuren tietorakenteista sopii parhaiten kokoelmaan, jossa järjestyksellä ei ole merkitystä ja jonka alkiot ovat yksikäsitteisiä?

Kertaus: keskeinen data ja syntaksi

Kertaus: S-lausekkeet muodostavat syntaksin perustan, ja keskeisiä rakennuspalikoita ovat listat, vektorit, mapit, joukot, avainsanat ja symbolit.

Aloita maksutta

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 ”Keskeiset tietorakenteet ja syntaksi” ilmainen?

Kyllä – oppitunnin ”Keskeiset tietorakenteet ja syntaksi” 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 ”Keskeiset tietorakenteet ja syntaksi”?

Tutustutte Clojuren keskeisiin tietorakenteisiin, kuten listoihin, vektoreihin, map-rakenteisiin ja joukkoihin, sekä perussyntaksiin. 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 2/4.

Kuinka kauan ”Keskeiset tietorakenteet ja syntaksi”-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

  1. Clojuren ja JVM:n perusteet
  2. Keskeiset tietorakenteet ja syntaksi
  3. REPL-lähtöinen kehitystyönkulku
  4. Destrukturointi ja avainsanojen käyttö
← Takaisin: Clojure-funktionaalinen ohjelmointi ja JVM-backend-kehitys