|
(println "Hej världen!")
|
;; Skriv ut "Hej världen!"
|
|
(def meddelande "Hej världen!")
(println meddelande) |
;; Definiera variabel
;; Skriv ut värdet |
|
Addition
|
(+ 5 3)
|
8
|
|
Subtraktion
|
(- 5 3)
|
2
|
|
Multiplikation
|
(* 5 3)
|
15
|
|
Division
|
(/ 5 3)
|
5/3
|
|
(/ 5.0 3.0)
|
1.6666666666666667
|
|
|
Modulo
|
(mod 5 3)
|
2
|
|
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 (>= å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. |
|
(def vänner
[ "Jonas" "Simon" "Johan" ]) |
;; 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 "Jonas") |
;; Är strängen tom? ;; Hur lång är strängen? |
|
(assoc vänner 0 "Calle")
|
;; Returnerar ["Calle" "Simon" "Johan"]
|
|
(def matris [["a"] ["b"] ["c"]])
(assoc-in matris [1 0] "x") |
;; 2-dimensionell lista
;; Returnerar [["a"] ["x"] ["c"]] |
|
(defn hälsa-utan-namn []
"Hej hej!") |
;; Definiera funktion utan parameter
|
|
(hälsa-utan-namn)
|
;; Anropa funktion utan parameter
|
|
(defn hälsa-med-namn [ namn ]
(str "Hej" namn "!")) |
;; Definiera funktion med parameter
|
|
(hälsa-med-namn "Filip")
|
;; Anropa funktion med parameter
|
|
(defn foo []
(foo)) |
;; Oändlig rekursion
|
|
(defn foo [ tal ]
(if (> tal 0) (foo (- tal 1)) (println "stop"))) |
;; Ha med basfall i rekursiva funktioner
;; Basfallet avgör om: ;; rekursionen fortsätter ;; rekursionen avbryts |
|
1. Stava rätt
|
variabelnamn kan lätt bli varibaelnanm
|
|
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. Kontrollera att funktionen anropas!
|
(foo)
|
|
5. Kontrollera antal parametrar
|
(foo [a b] ;<- Tar 2 parametrar
(println a ) (println b )) (foo "en parameter" ) ;<- Fel antal |
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.