Javascript 在emacs+中无法识别parenscript符号;粘液
我试着重做一个简单的例子。 我在emacs+sbcl+slime中执行以下命令:Javascript 在emacs+中无法识别parenscript符号;粘液,javascript,lisp,common-lisp,parenscript,Javascript,Lisp,Common Lisp,Parenscript,我试着重做一个简单的例子。 我在emacs+sbcl+slime中执行以下命令: (ql:quickload :parenscript) (defpackage :test) (:use :cl :parenscript)) (in-package :test) 然后我编译示例: (defun validate-game-name (evt) (when (= (@ add-form name value) "") (chain evt (prevent-default)) (a
(ql:quickload :parenscript)
(defpackage :test)
(:use :cl :parenscript))
(in-package :test)
然后我编译示例:
(defun validate-game-name (evt)
(when (= (@ add-form name value) "")
(chain evt (prevent-default))
(alert "Please enter a name.")))
并得到以下错误:
style-warning: undefined function: @
warning: undefined variable: ADD-FORM
warning: undefined variable: NAME
warning: undefined variable: VALUE
这里怎么了
(defpackage :test)
defpackage窗体已关闭,未使用任何包
那么这是什么呢?
(:use :cl :parenscript))
嗯。根据Philipp的评论,我将其编译到上下文中:
(ps
(defun validate-game-name (evt)
(when (= (@ add-form name value) "")
(chain evt (prevent-default))
(alert "Please enter a name."))))
对不起,我的意思是在:test之后没有括号。@Xaving-你能编辑这个问题,使它包含你真正的意思吗?你在repl的顶层评估
DEFUN
表单吗?您的错误消息看起来是这样的。试着在一个需要parenscript代码的上下文中计算它。试试PS
或类似的东西(看看文档)。我不知道如何处理它。我使用C-C-C从文件中编译它。有趣的是,当我在slime提示符中键入ps:cha,然后键入double TAB以完成时,我得到的结果是ps:chain。进一步解释一下,以便您理解为什么会这样做:ps
是一个通用的Lisp宏,它采用了一个表单(或多个表单,我不确定),必须符合parenscript语言(这与常见的Lisp不同,但乍一看非常类似)语义。然后,此表单(或这些表单)通过PS
以字符串形式转换为相应的javascript。