在Clojure中调用getCodeBase时遇到问题
我正在尝试编写一个函数来播放一次声音文件,使用我找到的一些资源。代码如下: (defn play [file] (let [songp (URL. (.getCodeBase) file) song (.newAudioClip songp)] (. song play)))在Clojure中调用getCodeBase时遇到问题,clojure,audio,java-interop,Clojure,Audio,Java Interop,我正在尝试编写一个函数来播放一次声音文件,使用我找到的一些资源。代码如下: (defn play [file] (let [songp (URL. (.getCodeBase) file) song (.newAudioClip songp)] (. song play))) 我遗漏了什么吗?。getCodeBase是一个实例方法调用,因此需要一个接收者(在Java中位于点之前)。如果Java代码只是getCodeBase(),那么有两种可能:要么它实际上意味着this.ge
我遗漏了什么吗?
。getCodeBase
是一个实例方法调用,因此需要一个接收者(在Java中位于点之前)。如果Java代码只是getCodeBase()
,那么有两种可能:要么它实际上意味着this.getCodeBase()
,在这种情况下,您应该找出该方法中的this
,并将其指定为第一个参数:
(.getCodeBase obj)
或者,它可以是该类(或其基类之一)的静态方法,在这种情况下,您应该使用静态方法调用表达式:
(ClassName/getCodeBase)
发布您试图翻译的Java代码,并提供足够的上下文,可能有助于更详细地回答这个问题。
.getCodeBase
是一个实例方法调用,因此需要一个接收者(在Java中位于点之前的内容)。如果Java代码只是getCodeBase()
,那么有两种可能:要么它实际上意味着this.getCodeBase()
,在这种情况下,您应该找出该方法中的this
,并将其指定为第一个参数:
(.getCodeBase obj)
或者,它可以是该类(或其基类之一)的静态方法,在这种情况下,您应该使用静态方法调用表达式:
(ClassName/getCodeBase)
在充分的上下文中发布您正试图翻译的Java代码,可能有助于更详细地回答这个问题