我已经定义了一个java类gen-class
,每次启动repl时都会编译.但是,如果我希望对类进行更改,我发现我必须重新启动并重新编译该类.反正有没有关闭repl吗?
我正在研究这个https://github.com/zcaudate/hara/blob/master/src/hara/ova/impl.clj
项目中有一条线.CLJ
:aot [hara.ova.impl]
Run Code Online (Sandbox Code Playgroud)
所以说文件已经加载,我可以这样做:
(import hara.ova.Ova)
(def a (Ova.))
Run Code Online (Sandbox Code Playgroud)
我想bar
在类中添加另一个方法,我只想-bar
在hara.ova.impl
命名空间中定义,调用一个compile-gen-class
函数来重新加载类,然后在不重新加载repl的情况下执行此操作:
(import hara.ova.Ova)
(def a (Ova.))
(.bar a)
Run Code Online (Sandbox Code Playgroud)
现在,Cc Ck不允许这样做.
您需要compile
在命名空间上调用该函数.
(ns test)
(gen-class :name test.Cls)
(comment (compile 'test))
需要对编译调用进行注释,以便它不会递归调用自身.我经常将这些留在我的开发文件中,以通过评估该编译表达式来快速重新编译定义.
归档时间: |
|
查看次数: |
799 次 |
最近记录: |