小编And*_*nir的帖子

错误:未绑定变量:*AJAX-PROCESSOR*使用HT-SIMPLE-AJAX

我正在使用HT-SIMPLE-AJAX来提供一个简单的JSON结构而不是AJAX.如果在lisp映像和服务器启动defun-ajax编译定义的函数,它可以很好地工作.

如果我ccl --load使用定义的函数加载lisp程序(with ),我会收到此错误:

错误:未绑定变量:*AJAX-PROCESSOR*在进程监听器(1)中执行:#时.

键入:GO继续,:POP中止,:R表示可用的重新启动列表.如果继续:跳过加载"/home/hunchentoot/quicklisp/local-projects/gac-man/run.lisp"类型:?其他选择.

功能如下:

(defun-ajax machine-info (serial) (*ajax-processor*)
  (let* ((serialn (remove #\" serial)))
    (concatenate 'string
     "Lots of boring stuff" "here")))
Run Code Online (Sandbox Code Playgroud)

ajax处理器是在另一个函数中创建的,在程序开始时调用:

(defun start ()
  (setup)
  (connect-to-database)
  (defvar *web-server* (start (make-instance 'hunchentoot:easy-acceptor :port 8080
                     :document-root #p"~/www/")))
  (defvar *ajax-processor* 
  (make-instance 'ajax-processor :server-uri "/ajax"))
  (print "Starting web server...")
  (setf *show-lisp-errors-p* t
    *show-lisp-backtraces-p* t)
  (define-easy-handler (docroot :uri "/") () (docroot)
  ....
  ....
   (setq *dispatch-table* (list 'dispatch-easy-handlers 
               (create-ajax-dispatcher *ajax-processor*)))))
Run Code Online (Sandbox Code Playgroud)

然而,如果我启动所有内容然后通过slime编译函数,它可以正常工作.为什么会出现此错误?

我在64位Linux上使用Clozure Common Lisp.

common-lisp hunchentoot

2
推荐指数
1
解决办法
50
查看次数

Lispy多次运行函数的方式

我正在使用一个函数d来生成随机数,我将其收集在列表中,然后对它们求平均值:

 (/ (apply #'+ (list (d 6) (d 6) (d 6) (d 6) (d 6) (d 6))) 6.0)
Run Code Online (Sandbox Code Playgroud)

我想运行函数(d n) i次数,将返回的值一起添加,然后除以i.dotimes不返回值.我将如何在Common Lisp中执行此操作?

common-lisp

0
推荐指数
1
解决办法
246
查看次数

标签 统计

common-lisp ×2

hunchentoot ×1