clojure - 匿名函数使用#()返回1

标签 clojure

使用defn或fn可以很容易地创建一个函数,该函数接受一个忽略它并返回1的参数:

(defn ret1 [arg] 1)
(fn [arg] 1)


是否可以使用#()宏执行此操作?我不是说使用丑陋或“作弊”之类的东西

#(/ % %)  or 
#(if (nil? %) 1 1)


我的意思是从字面上忽略该参数并返回1。我找不到有效的干净语法。

最佳答案

#(do %& 1) ...但是(constantly 1)更好。

关于clojure - 匿名函数使用#()返回1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5005437/

相关文章:

clojure - 使用 clj-time 获取 DateTime 实例之间的差异

clojure - Clojure 中有创建 HashMap 的简短形式吗?

clojure - OM如何向html元素添加类

cookies - 如何使用 compojure 设置和获取 cookie?

clojure - let 不执行主体中的第二个表达式

java - 将 Java 对象方法调用结果转换为 Clojure 映射

用于项目构建的 Ant/Ivy

java - 授予 Java 应用程序访问特定 Google 电子表格的权限

clojure - 在Clojure中,如何将宏应用于列表?

C# atom 引用类型等效于 clojure atom