(def a (atom 0)) -> #'user/a (def b (ref a)) -> #'user/b @b -> #<Atom@3cecfaea: 0> @@b -> 0 (swap! a inc) -> 1 @@b -> 1 (swap! @b inc) -> 2
(println (reduce +
(filter even?
(take-while (fn [n] (< n 4000000)) (lazy-seq-fibo)))))
(println (reduce +
(filter even?
(take-while #(< % 4000000) (lazy-seq-fibo)))))
(. instance-expr member-symbol)
(. Classname-symbol member-symbol)
(. instance-expr (method-symbol args*)) ;or (. instance-expr method-symbol args*)
(. Classname-symbol (method-symbol args*)) ;or (. Classname-symbol method-symbol args*)
(.instanceMember instance args*)
(.instanceMember Classname args*)
(Classname/staticMethod args*)
Classname/staticField
(.. instance-expr member+)
(.. Classname-symbol member+)
(partition 3 [1 2 3 4 5 6 7 8 9 10])
-> ((1 2 3) (4 5 6) (7 8 9))
(join relation-1 relation-2 keymap?)
(join #{{:a 1 :b 2 :c 3} {:a 1 :b 21 :c 42}}
#{{:a 1 :b 2 :e 5} {:a 1 :b 21 :d 4}})
-> #{{:d 4, :a 1, :b 21, :c 42} {:e 5, :a 1, :b 2, :c 3}}
1. let [v (+ v 1)] 是否合法?
2. dosync 能否嵌套?
2011/1/6 Neo <neo...@gmail.com>:
--
Best Regards
LI Daobing
(def v 1)
-> #'user/v
(let [v (inc v)]
v)
-> 2
(def a (ref 1))
-> #'user/a
(def b (ref 100))
-> #'user/b
(dosync
(alter a inc)
(dosync
(alter b dec)))
-> 99
@a
-> 2
@b
-> 99