
1. prefix notation
|
|
2. data type
|
|
3. expression
-
if [else]
12345678910111213(if (< 1 2)(println "it is true")(println "it is false")) ;=> it is true(if ""(prn "it is true")) ;=> it is true(if 0(prn "it is true")) ;=> it is true(if nil(prn "it is true")) ;=> nil!! -
or/and
12(prn (or true false)) ;=> true(prn (and true false)) ;=> false
4. data structures
-
list
123(list 1 2 3)`(1 2 3);=> (1 2 3) -
vector
1[1 2 3] ;=> [1 2 3] -
set
1#{1 2 3} ;=> #{1 2 3} -
map
123{:one 1,:two 2,1, :three 3, :two 2}
5. operation on data structures
-
op list (seq access)
12345(def list0 `(1 2 3))(first list0) ;=> 1(rest list0) ;=> (2 3)(last list0) ;=> 3(cons 0 list0) ;=> (0 1 2 3) -
op vector (rand access)
1234(def vec0 [4 5 6])(nth vec0 2) ;=> 6(vec0 2) ;=> 6, with index.(concat [1 2 3] vec0) ;=> (1 2 3 4 5 6), it called sequence. -
op set
123(def set0 #{5 7 2 6})(count set0) ;=> 4(set0 2) ;=> 2 -
op map
123456(def map0 {:one 1, :two 2, :three 3})(map0 :one) ;=> 1(:one map0) ;=> 1(merge {:four 4} map0) ;=> {:two 2, :three 3, :one 1, :four 4}(def map1 (sorted-map 2 :two 1 :one)) ;=> {1 :one, 2 :two}




近期评论