Emacs 苹果酒repl中的宏(例如->;)
为什么使用线程宏->>会在cider 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] 然后尝试使
(-> "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完成了这项工作。