有没有办法让 hunchentoot:*dispatch-table* 在函数重新定义时自动更新?
Is there a way to have the hunchentoot:*dispatch-table* update automatically on function redefinition?
我已经按照以下方式设置了调度-table:
(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
(reader 语法 #'
)将符号解析为函数对象。也就是说:
....
(list (list "^/one$" 'page-one)
(list "^/two$" 'page-two))))
我已经按照以下方式设置了调度-table:
(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
(reader 语法 #'
)将符号解析为函数对象。也就是说:
....
(list (list "^/one$" 'page-one)
(list "^/two$" 'page-two))))