假设files是 Clojure 中的 Java 列表File,我想获取文件名列表。在 Leiningen REPL 中我可以使用,比如说,
(.getName (nth files 4))
=> "image.jpg"
Run Code Online (Sandbox Code Playgroud)
但如果我用
(map .getName files)
Run Code Online (Sandbox Code Playgroud)
REPL 抛出一个CompilerException java.lang.RuntimeException: Unable to resolve symbol: .getName in this context. 这是为什么?
我可以解决这个问题
(defn gn [file] (.getName file))
(map gn files)
Run Code Online (Sandbox Code Playgroud)
但我现在想知道是否有一种更优雅的方法将 Java 方法映射到 Clojure 中的列表。