我save-message在guestbook.models.db命名空间中有这个功能,我试图在repl中运行它,但我得到了这个:
guestbook.models.db> (save-message "A" "Hi"
)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: save-message in this context, compiling:(/private/var/folders/xc/ypy3lqhj08xg2hjc6g81qwl80000gn/T/form-init7598384514150426113.clj:1:1)
Run Code Online (Sandbox Code Playgroud)
我重新加载并再次尝试,我得到同样的错误
guestbook.models.db> (:reload 'guestbook.models.db)
nil
guestbook.models.db> (save-message "A" "Hi"
)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: save-message in this context, compiling:(/private/var/folders/xc/ypy3lqhj08xg2hjc6g81qwl80000gn/T/form-init7598384514150426113.clj:1:1)
guestbook.models.db>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
你想说
(require :reload 'guestbook.models.db)
Run Code Online (Sandbox Code Playgroud)
这会重新加载这个命名空间; 如果您使用:reload-all,它还将递归地重新加载由guestbook.models.db直接或间接加载的所有名称空间.
详情(doc require)请见.
至于(:reload 'guestbook.models.db):
Clojure中的关键字,当用作函数时,会尝试将它们的第一个参数视为一个自我查找的映射.例如,(:foo {:foo 1})返回1.如果不能这样处理这个参数,nil则返回.可选地,可以提供第二个参数,作为默认值返回,以防关键字在其第一个参数中找不到与其自身对应的值(无论是非映射还是没有此条目的映射)键).
| 归档时间: |
|
| 查看次数: |
4066 次 |
| 最近记录: |