clojure - 有没有办法执行面向 Clojure 的反射?

标签 clojure

如果我有这样的功能

(defn ab_func [a b]
  (* a b))

如何使用反射来确定 ab_func 有两个参数? clojure.reflect 似乎是 Java 反射机制的前端...我正在寻找不需要理解 clojure 的 Java 实现的某种级别的反射。

最佳答案

函数变量具有关联的元数据,可让您确定函数采用的参数数量,例如:

(-> (meta #'ab_func) :arglists first count)
=> 2

关于clojure - 有没有办法执行面向 Clojure 的反射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28676255/

相关文章:

arrays - 如何在Clojure中实现For循环

clojure - 这种形式构造有什么问题?

macos - 在 OS X 上测试多个 mongodb 实例

clojure - 将 clojure.contrib.strint 与其他地方定义的字符串一起使用

clojure - 读入表达式 - 阅读时的 EOF - 在 Clojure 中

Clojure:绑定(bind)与 with-redefs

regex - 从正则表达式中获取参数

asynchronous - clojure.core.async - 使用 >!和 <!在函数调用中

clojure - 为 liberator 的 handle-unauthorized 输出 html

clojure - 为什么Partial的Clojure这么慢