Emacs 苹果酒repl中的宏(例如->;)

Emacs 苹果酒repl中的宏(例如->;),emacs,clojure,cider,Emacs,Clojure,Cider,为什么使用线程宏->>会在cider repl中产生错误: (-> "x..") // Unable to resolve symbol: -> in this context 当您在repl中创建一个新名称空间,但尚未在其中定义任何内容时,就会发生这种情况。因此clojure.core函数的别名尚未建立: 首先创建一个新的空白命名空间: user> (in-ns 'i-dont-exist-yet) #namespace[i-dont-exist-yet] 然后尝试使

为什么使用线程宏->>会在cider repl中产生错误:

(-> "x..")

//  Unable to resolve symbol: -> in this context

当您在repl中创建一个新名称空间,但尚未在其中定义任何内容时,就会发生这种情况。因此clojure.core函数的别名尚未建立:

首先创建一个新的空白命名空间:

user> (in-ns 'i-dont-exist-yet)
#namespace[i-dont-exist-yet]
然后尝试使用线程宏(或clojure.core中的任何内容):

它无法在当前名称空间中查找符号
->
,但如果您明确告诉它要使用哪个名称空间,它会工作:

i-dont-exist-yet> (clojure.core/-> 1)
1
clojure.core中有一个方便的函数,它将为您的新名称PCE添加所有预期的引用。当您从顶部带有
ns
宏的文件创建名称空间时,不需要执行此操作,因为
ns
可以为您执行此操作(以及其他有用的操作):


当您在repl中创建一个新名称空间,但尚未在其中定义任何内容时,就会发生这种情况。因此clojure.core函数的别名尚未建立:

首先创建一个新的空白命名空间:

user> (in-ns 'i-dont-exist-yet)
#namespace[i-dont-exist-yet]
然后尝试使用线程宏(或clojure.core中的任何内容):

它无法在当前名称空间中查找符号
->
,但如果您明确告诉它要使用哪个名称空间,它会工作:

i-dont-exist-yet> (clojure.core/-> 1)
1
clojure.core中有一个方便的函数,它将为您的新名称PCE添加所有预期的引用。当您从顶部带有
ns
宏的文件创建名称空间时,不需要执行此操作,因为
ns
可以为您执行此操作(以及其他有用的操作):


很好,谢谢。我发现仅仅更改cider repl中的名称空间(通过ns..)是不够的。C-C-M-n负责这项工作。很酷,谢谢。我发现仅仅更改cider repl中的名称空间(通过ns..)是不够的。然而,C-CM-n完成了这项工作。