windows – 在emacs中重新加载Clojure文件
我刚刚开始学习Clojure和Emacs.我有运行
Windows的Clojure Box,我希望能够在缓冲区中编写代码然后在REPL中运行它而无需调用
(use 'example.code) 每时每刻.我知道C-c C-k,但它没有重新加载命名空间.如果我使用 (in-ns 'example.code) 更改它运行的repl中的命名空间.这样做的正确方法是什么? 解决方法
in-ns是正确的方法之一.
对我来说最“正确”的方式是(要求'[example.code:as ec])并在REPL的用户命名空间中工作;这样我的一次性实验状态保持在用户和ec / foo对我来说很方便(并且它显然在foo应该来自哪里).您总是可以说(require:reload-all’example.code)(与use一样工作)强制重新编译. 此外,这是一个从(使用当前命名空间)删除从给定命名空间中引入的所有映射的函数: (defn unuse [ns] (doseq [[n v] (ns-refers *ns*)] (if (= (.. v ns name) ns) (ns-unmap *ns* n)))) 最重要的是你可以建立 (defn reuse [ns] (unuse ns) (remove-ns ns) (use :reload-all ns)) 并说(重用’example.code)来获得与你的命名空间接近一个新的开始. (请注意,1.2新功能,如deftype和defrecord引入了一些复杂性……特别是,unuse对导入的类没有影响 – 这包括记录和deftype创建的类型.:reload-all仍然导致deftype等.要重新编译的表单,但是我记得遇到奇怪的情况,这似乎不够……可能是我的错误,可能是这些功能的一些神秘方面,我还没有完全探索过.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-desktop-gadgets – 在没有Visual Studio的情况下调
- Windows Server 2016-重置目录还原模式密码
- windows – 我是否需要为CDC设备编写自己的主机端USB驱动程
- windows-server-2003 – 终端服务器已超过允许的最大连接数
- 我的dll代码从一个exe文件中工作,但是无法从Java loadLibra
- windows-server-2008-r2 – 连接到Windows Server 2008 R2后
- 第二天的Windows批处理事件提醒
- f中的uint16?
- 在Windows Server上安装Redis
- windows – 如何尽可能快地创建CreateFile
- windows – 如何使用PowerShell设置安全组的电子
- windows – 由于额外的读取而在网络上读取文件很
- windows-server-2008 – 什么是Site Link Bridge
- windows-phone-7 – 无法在Expression Blend中拖
- windows-server-2012-r2 – Windows Server 2012
- date – 检查文件是否在过去xx天后被修改
- windows-server-2008 – 对于ASP.Net应用程序,Wi
- PowerShell预定作业未在启动时运行
- windows – 这是什么意思:“子进程可以继承句柄
- 通过Microsoft.AspNetCore.App元包简化程序集的引