我使用Emacs/Cider启动一个clj
REPL。我是通过首先打开定义新命名空间的文件来做到这一点的。然后我使用cider-jack-in-clj
来启动REPL。REPL的命名空间是“user”。我只能在REPL中使用完全限定的函数。如果我在REPL中输入user=> (ns myns)
,这会按预期工作并更改命名空间。我想自动化这个过程,以便每次从文件启动REPL时,REPL的命名空间也会更改。
或者,只要我能够使用非限定名函数,我就不介意更改命名空间。
以下是我的文件顶部,core.clj的一个示例
(ns coresync.core
(:use [tupelo.core])
(:require [clojure.core.async :refer [chan >!! <!!]]))
在代码的emacs缓冲区中,我能够获取所有非限定名函数,但在REPL中,我需要使用
user=> clojure.core.async/chan
我在网上和这个论坛中搜索过,但还没有解决这个问题。如果这个问题已经被提出并且我错过了,我在此道歉。
谢谢