【发布时间】:2023-04-05 21:30:02
【问题描述】:
如何在 Clojure 中参数化调用方法?
例子:
(def url (java.net.URL. "http://www.google.com"))
(.getHost url) ;; works!
(def host '.getHost)
(host url) ;; Nope :(
(~host url) ;; Nope :(
(eval `(~host url)) ;; Works :s
【问题讨论】:
-
由于
'.getHost不是一开始就“引用的方法”,因此您不能取消引用它。这只是一个象征。此外,您似乎已经想出了如何将您的符号评估为方法调用,那么问题是什么? -
最后一行吓到我了!万圣节快乐!
标签: java methods clojure quote clojure-java-interop