mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-22 23:01:41 +03: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)
|
||||
(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
|
||||
;;;;;;;;;;;;;;;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user