如何识别thread-last的变量?
How to identify the variable of thread-last?
考虑以下代码:
(defn delete-last-line [list]
(take (- (count list) 1) list)
)
(->>
(create-list)
(delete-last-line))
现在我想用thread-last 中的匿名函数替换delete-last-line。像下面这样的东西,但这不起作用。问题是我需要以某种方式拥有变量的标识符。
(take (- (count %) 1))
在你的匿名函数周围多加一对括号,这样你就可以调用它;这样 ->>
线程进入函数的 调用 ,而不是它的 定义 。
(->>
(create-list)
(#(take (- (count %) 1) %)))
我不知道你所说的“以某种方式拥有变量的标识符”是什么意思,但是如果你想给它起一个名字而不是使用 %
,你总是可以这样做:
(println
(->>
(create-list)
((fn [lst] (take (- (count lst) 1) lst)))))
考虑以下代码:
(defn delete-last-line [list]
(take (- (count list) 1) list)
)
(->>
(create-list)
(delete-last-line))
现在我想用thread-last 中的匿名函数替换delete-last-line。像下面这样的东西,但这不起作用。问题是我需要以某种方式拥有变量的标识符。
(take (- (count %) 1))
在你的匿名函数周围多加一对括号,这样你就可以调用它;这样 ->>
线程进入函数的 调用 ,而不是它的 定义 。
(->>
(create-list)
(#(take (- (count %) 1) %)))
我不知道你所说的“以某种方式拥有变量的标识符”是什么意思,但是如果你想给它起一个名字而不是使用 %
,你总是可以这样做:
(println
(->>
(create-list)
((fn [lst] (take (- (count lst) 1) lst)))))