mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 09:41:36 +00:00
Copy arrow docs from french.
This commit is contained in:
parent
085bc20c1a
commit
aea4d998b4
@ -264,6 +264,31 @@ keymap ; => {:a 1, :b 2, :c 3}
|
|||||||
(print "Saying hello to " name)
|
(print "Saying hello to " name)
|
||||||
(str "Hello " name)) ; => "Hello Urkel" (prints "Saying hello to Urkel")
|
(str "Hello " name)) ; => "Hello Urkel" (prints "Saying hello to Urkel")
|
||||||
|
|
||||||
|
|
||||||
|
; Use the threading macros (-> and ->>) to express transformations of
|
||||||
|
; data more clearly.
|
||||||
|
|
||||||
|
; The "Thread-first" macro (->) inserts into each form the result of
|
||||||
|
; the previous, as the first argument (second item)
|
||||||
|
(->
|
||||||
|
{:a 1 :b 2}
|
||||||
|
(assoc :c 3) ;=> (assoc {:a 1 :b 2} :c 3)
|
||||||
|
(dissoc :b)) ;=> (dissoc (assoc {:a 1 :b 2} :c 3) :b)
|
||||||
|
|
||||||
|
; This expression could be written as:
|
||||||
|
; (dissoc (assoc {:a 1 :b 2} :c 3) :b)
|
||||||
|
; and evaluates to {:a 1 :c 3}
|
||||||
|
|
||||||
|
; The double arrow does the same thing, but inserts the result of
|
||||||
|
; each line at the *end* of the form. This is useful for collection
|
||||||
|
; operations in particular:
|
||||||
|
(->>
|
||||||
|
(range 10)
|
||||||
|
(map inc) ;=> (map inc (range 10)
|
||||||
|
(filter odd?) ;=> (filter odd? (map inc (range 10))
|
||||||
|
(into [])) ;=> (into [] (filter odd? (map inc (range 10)))
|
||||||
|
; Result: [1 3 5 7 9]
|
||||||
|
|
||||||
; Modules
|
; Modules
|
||||||
;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user