clojure基础教程(一)

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)