小编Ber*_*erg的帖子

Clojure REPL,互操作,无法解析符号

假设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 中的列表。

java clojure clojure-java-interop

3
推荐指数
1
解决办法
341
查看次数

标签 统计

clojure ×1

clojure-java-interop ×1

java ×1