Show Menu
Cheatography

Clojure för nybörjare Cheat Sheet by

Variabler och strängar

(println "Hej världe­n!")
;; Skriv ut "Hej världe­n!"
(def meddelande "Hej världen!")
(println meddel­ande)
;; Definiera variabel
;; Skriv ut värdet

Matema­tiska operatorer

Addition
(+ 5 3)
8
Subtra­ktion
(- 5 3)
2
Multip­lik­ation
(* 5 3)
15
Division
(/ 5 3)
5/3
 
(/ 5.0 3.0)
1.6666­666­666­666667
Modulo
(mod 5 3)
2

Jämförelse

lika med
(= x 42)
inte lika med
(not= x 42)
större än
(> x 42)
större än eller lika med
(>= x 42)
mindre än
(< x 42)
mindre än eller lika med
(<= x 42)

If-satser

(if (>= ålder 18)
    ("Du får rösta")
    ("Du får inte rösta"))
;; Om villkoret stämmer
;; kör första funktionen.
;; Annars kör andra.
 

Listor

(def vänner
[ "­Jon­as" "­Sim­on" "­Joh­an" ])
;; Definiera lista med strängar
(first vänner)
;; Hämta första element i listan
(last vänner)
;; Hämta sista element i listan
(nth vänner n)
;; Hämta n:te elementet
(rest vänner)
;; Alla element utom första
(pop vänner)
;; Alla element utom sista
(empty? vänner)
;; Kollar ifall listan är tom
(count vänner)
;; Listans längd
Obs! Strängar kan ses som lista av karaktärer:
(empty? "Jonas")
(count "­Jon­as")


;; Är strängen tom?
;; Hur lång är strängen?
(assoc vänner 0 "­Cal­le")
;; Returnerar ["Ca­lle­" "­Sim­on" "­Joh­an"]
(def matris [["a­"] ["b"] ["c"]])
(assoc-in matris [1 0] "­x")
;; 2-dime­nsi­onell lista
;; Returnerar [["a­"] ["x"] ["c"]]

Funktioner

(defn hälsa-­uta­n-namn []
    "Hej hej!")
;; Definiera funktion utan parameter
(hälsa­-ut­an-­namn)
;; Anropa funktion utan parameter
(defn hälsa-­med­-namn [ namn ]
     (str "­Hej­" namn "­!"))
;; Definiera funktion med parameter
(hälsa­-me­d-namn "­Fil­ip")
;; Anropa funktion med parameter

Rekursion

(defn foo []
    (foo))
;; Oändlig rekursion
(defn foo [ tal ]
    (if (> tal 0)
 ­ ­ ­ ­ ­ ­ ­ (foo (- tal 1))
 ­ ­ ­ ­ ­ ­ ­ ­(pr­intln "stop")))
;; Ha med basfall i rekursiva funktioner
;; Basfallet avgör om:
;; rekurs­ionen fortsätter
;; rekurs­ionen avbryts

Felsök­nin­gstips

1. Stava rätt
variab­elnamn kan lätt bli variba­elnanm
2. Kolla parenteser
Se till att varje ( matchas med en )
Eller [ med ]
3. Stängda strängar?
"­Detta kommer inte funka.
 
Ej heller det här."
4. Kontro­llera att funktionen anropas!
(foo)
5. Kontro­llera antal parametrar
(foo [a b] ;<- Tar 2 parametrar
     (println a )
     (println b ))

(foo "en parame­ter­" ) ;<- Fel antal

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          My Emacs Keyboard Shortcuts
          Spacemacs (+Clojure) Keyboard Shortcuts