簡體   English   中英

可重新加載的Clojure REPL

[英]Reloadable Clojure REPL

如何為Clojure創建一個可重新加載代碼的REPL?

我可以創建一個新項目,並啟動並運行REPL:

lein new app stack 
cd stack
lein repl
(-main)

做到這一點應該讓你“你好,世界!”。

我想留在REPL中,將代碼更改為println “你好伙伴!”,然后再次(-main) 自動重新加載或(甚至更好)簡單的手動重新加載(例如使用像(r)這樣的命令)將使環境完整。

似乎lein我已經進入正確的命名空間(任何命名空間,但是你必須使用的用戶命名空間(in-ns 'some-ns)是正確的命名空間!)。 唯一沒有答案的部分是代碼重新加載 - 手動或自動。

碰巧我以前問過如何用boot啟動它

對於手動重新加載,您可以使用與啟動應答中發布的相同技巧,即具有為您重新加載的功能:

(defn r [] (require 'stack.core :reload)) 

一旦上述函數成為stack.core命名空間的一部分,您就可以從REPL中調用它。 非常簡單 - 命名空間stack.core在其中有一個重載自身的函數。

從編輯器進行代碼更改,使用(r)重新加載,然后再次運行...

還有用於自動重新加載的lein-autoreload插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM