clojure 基础教程
1,";"号开头表示注释
user=> ;表示注释
user=>
2,对应Java的String类型
user=> (str "str")
"str"
user=> (str "str" 'hah' "clojure world")
"strhah'clojure world"
user=> (str "hello" "clojure World")
"helloclojure World"
user=> (str "hello " "clojure World")
"hello clojure World"
user=>
3,命名空间
ns namespce
4,数学计算
user=> (+ 1 1)
2
user=> (- 2 4)
-2
user=> (- 4 2)
2
user=> (* 2 2)
4
user=> (* 2 0)
0
user=> (/ 2 1)
2
user=> (/ 2 0)
ArithmeticException Divide by zero clojure.lang.Numbers.divide (Numbers.java:156)
user=>
嵌套运算4-12/(2*3)=2
user=> (- 4 (/ 12 (* 2 3)))
2
5,相等(=(java equals()),==()
user=> (= 2 2)
true
user=>
6,求余数(/)
user=> (rem 9 2)
1
user=> (rem 11 3)
2
7,求余(%)
user=> (mod 6 3)
0
user=> (mod 100 33)
1
user=>
8,增量 inc,减量dec
user=> (dec 10)
9
user=> (inc 10)
11
user=>
9,大小max min
user=> (max 10 8 6 20 -30)
20
user=> (min 10 8 6 20 -30)
-30
user=>
10,class
user=> (class 1)
java.lang.Long
user=> (class "str")
java.lang.String
user=> (class '(1 2 3));列表以“'”应起来
clojure.lang.PersistentList
user=> (class [1 2 3]);[1 2 3]向量
clojure.lang.PersistentVector
user=>
11,函数
11.1 fn宏定义函数,调用"(("
user=> (fn [] "haha clojure")
#<user$eval93$fn__94 user$eval93$fn__94@16d9fe1>
user=> (
user=> ((fn [] "haha"))
"haha"
user=> ((fn [args] args) "haha args") ;带一个参数
"haha args"
11.2,defn定义函数,包括函数名,参数列表,方法体,说明
user=> (fn-plus 3 3)
6
user=> (defn fn2 "desciption" [a b] (+ a b))
#'user/fn2
user=> (fn2 3 3)
6
clojure 基础教程
1,";"号开头表示注释
user=> ;表示注释
user=>
2,对应Java的String类型
user=> (str "str")
"str"
user=> (str "str" 'hah' "clojure world")
"strhah'clojure world"
user=> (str "hello" "clojure World")
"helloclojure World"
user=> (str "hello " "clojure World")
"hello clojure World"
user=>
3,命名空间
ns namespce
4,数学计算
user=> (+ 1 1)
2
user=> (- 2 4)
-2
user=> (- 4 2)
2
user=> (* 2 2)
4
user=> (* 2 0)
0
user=> (/ 2 1)
2
user=> (/ 2 0)
ArithmeticException Divide by zero clojure.lang.Numbers.divide (Numbers.java:156)
user=>
嵌套运算4-12/(2*3)=2
user=> (- 4 (/ 12 (* 2 3)))
2
5,相等(=(java equals()),==()
user=> (= 2 2)
true
user=>
6,求余数(/)
user=> (rem 9 2)
1
user=> (rem 11 3)
2
7,求余(%)
user=> (mod 6 3)
0
user=> (mod 100 33)
1
user=>
8,增量 inc,减量dec
user=> (dec 10)
9
user=> (inc 10)
11
user=>
9,大小max min
user=> (max 10 8 6 20 -30)
20
user=> (min 10 8 6 20 -30)
-30
user=>
10,class
user=> (class 1)
java.lang.Long
user=> (class "str")
java.lang.String
user=> (class '(1 2 3));列表以“'”应起来
clojure.lang.PersistentList
user=> (class [1 2 3]);[1 2 3]向量
clojure.lang.PersistentVector
user=>
11,函数
11.1 fn宏定义函数,调用"(("
user=> (fn [] "haha clojure")
#<user$eval93$fn__94 user$eval93$fn__94@16d9fe1>
user=> (
user=> ((fn [] "haha"))
"haha"
user=> ((fn [args] args) "haha args") ;带一个参数
"haha args"
11.2,defn定义函数,包括函数名,参数列表,方法体,说明
user=> (fn-plus 3 3) 6 user=> (defn fn2 "desciption" [a b] (+ a b)) #'user/fn2 user=> (fn2 3 3) 6