【发布时间】:2010-12-15 17:03:13
【问题描述】:
全部,
我想创建一个函数,它接受一个表示 java 方法的符号并将其应用于某个对象:
(user=> (defn f [m] (. "foo" (m)))
执行此操作时,我得到的结果与我的预期大不相同
user=> (f 'getClass)
java.lang.IllegalArgumentException: No matching method found: m for class java.lang.String (NO_SOURCE_FILE:0)
2 个问题:
1> 为什么符号 m 被称为 '.' 的第二个参数函数而不是绑定到 m 的值?
2> 我将如何做我想做的事?
【问题讨论】: