我按以下方式设置了调度表:
(setq hunchentoot:*dispatch-table*
(mapcar #'(lambda (regex-and-handler)
(hunchentoot:create-regex-dispatcher (first regex-and-handler)
(second regex-and-handler)))
(list (list "^/one$" #'page-one)
(list "^/two$" #'page-two))))
现在,如果我重新定义函数page-one
,*dispatch-table*
仍然使用旧定义,并且仅在重新计算(setq ...)
形式时才使用新定义。有没有办法让它拿起新的函数定义?
在计算列表时,使用函数的名称作为符号,而不是将符号解析为具有function
(读取器语法#'
(的函数对象。换句话说:
....
(list (list "^/one$" 'page-one)
(list "^/two$" 'page-two))))