据我所知,给定一个匿名函数,我可以使用%1%2之类的参数,例如
(#(+ %1 %2 %3) 2 4 6)
但解决问题
(true? (x :a {:a nil :b 2}))
其中x可以是
#(nil? (%2 % %))
或
#(not (%2 % 1))
%之后没有数字的含义是什么意思?
这是4clojure
的练习提前致谢
答案 0 :(得分:2)
没有任何数字的%
总是等同于%1
(即匿名函数的第一个参数)。
来自docs:
%
是%1
的同义词,%n
指定第n个arg(从1开始),%&
指定休息arg。
我已经看到提到过了(我不记得在哪里,但我同意),当匿名函数占用多个参数时,最好在%1
中包含数字,因为它是读者更清楚。