:let
让你定义命名值,就像let特殊形式允许你这样做:
(for [i (range 10)
:let [x (* i 2)]]
x) ;;=> (0 2 4 6 8 10 12 14 16 18)
Run Code Online (Sandbox Code Playgroud)
相当于:
(for [i (range 10)]
(let [x (* i 2)]
x)) ;;=> (0 2 4 6 8 10 12 14 16 18)
Run Code Online (Sandbox Code Playgroud)
除非与:when
(或:while
)结合使用时:
(for [i (range 10)
:let [x (* i 2)]
:when (> i 5)]
x) ;;=> (12 14 16 18)
(for [i (range 10)]
(let [x (* i 2)]
(when (> i 5) x))) ;;=> (nil nil nil nil nil nil 12 14 16 18)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
710 次 |
最近记录: |