Add as-> macro documentation (#2392)

* Add as-> macro documentation

* Add as-> in english clojure.html.markdown
This commit is contained in:
Rafik NACCACHE 2016-10-02 12:55:49 +01:00 committed by ven
parent e7b9774eee
commit b552fe30c2
2 changed files with 26 additions and 5 deletions

View File

@ -289,6 +289,19 @@ keymap ; => {:a 1, :b 2, :c 3}
(into [])) ;=> (into [] (filter odd? (map inc (range 10))) (into [])) ;=> (into [] (filter odd? (map inc (range 10)))
; Result: [1 3 5 7 9] ; Result: [1 3 5 7 9]
; When you are in a situation where you want more freedom as where to
; put the result of previous data transformations in an
; expression, you can use the as-> macro. With it, you can assign a
; specific name to transformations' output ans use it as a
; placeholder in your chained expressions:
(as-> [1 2 3] input
(map inc input);=> You can use last transform's output at the last position
(nth input 4) ;=> and at the second position, in the same expression
(conj [4 5 6] input [8 9 10])) ;=> or in the middle !
; Modules ; Modules
;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;

View File

@ -302,6 +302,14 @@ ressemblent à toutes les autres formes:
(into [])) ;=> Génère ici (into [] (filter odd? (map inc (range 10))), ce qui est évalué au final à; (into [])) ;=> Génère ici (into [] (filter odd? (map inc (range 10))), ce qui est évalué au final à;
; [1 3 5 7 9] ; [1 3 5 7 9]
; Quand vous êtes dans une situation où vous voulez plus de liberté pour choisir
; où mettre le résultat des étages précédents, vous pouvez utiliser la
; macro as->. Avec cette macro, donnez un nom spécifique au résultat de la transformation
; précédente pour le placer, à votre guise, où bon vous semble dans l'étage courant:
(as-> [1 2 3] input
(map inc input);=> Utilisation du résultat en dernière position
(nth input 4) ;=> et en deuxième position, dans la même expression
(conj [4 5 6] input [8 9 10])) ;=> ou au milieu !
; Modules ; Modules
;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;