首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在REPL中重新加载clojure文件

在REPL中重新加载Clojure文件,您可以使用以下步骤:

  1. 首先,确保您已经启动了Clojure REPL。如果您还没有启动,请在命令行中输入以下命令启动:
代码语言:txt
复制
java -cp clojure.jar clojure.main
  1. 使用(load-file "your-file-path")命令加载Clojure文件。将your-file-path替换为您要加载的Clojure文件的路径。例如,如果您要加载名为example.clj的文件,请输入:
代码语言:txt
复制
(load-file "example.clj")
  1. 如果您对Clojure文件进行了更改,并且想要在REPL中重新加载它,您可以使用以下命令:
代码语言:txt
复制
(require '[clojure.java.io :as io])
(require '[clojure.edn :as edn])

(defn reload-file [file-path]
  (let [file (io/file file-path)]
    (if (.exists file)
      (edn/read-string (slurp file))
      (println (str "File not found: " file-path)))))

然后,使用以下命令重新加载Clojure文件:

代码语言:txt
复制
(reload-file "your-file-path")

your-file-path替换为您要重新加载的Clojure文件的路径。

请注意,这个答案中没有提及其他云计算品牌商,因为这个问题是关于在Clojure REPL中重新加载Clojure文件的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【DB笔试面试511】如何在Oracle写操作系统文件写日志?

题目部分 如何在Oracle写操作系统文件写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...image.png 其它常见问题如下表所示: 问题 答案 Oracle哪个包可以获取环境变量的值? 可以通过DBMS_SYSTEM.GET_ENV来获取环境变量的当前生效值。...在CLIENT_INFO列存放程序的客户端信息;MODULE列存放主程序名,包的名称;ACTION列存放程序包的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle写操作系统文件写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

28.8K30
  • (cljsrun-at (JSVM. :browser) 命名空间就这么简单)

    前言  一个cljs文件定义一个命名空间,通过命名空间可以有效组织代码,这是构建大型系统必备的基础设施。本篇我们就深入理解cljs的命名空间吧!...[] '(println "i-am-macro2"))  由于macro是在编译期展开为列表,然后在运行时解析列表,而JS作为脚本语言根本就没有所有编译期,因此需要将macro写在独立的clj文件...])) require用在REPL中就好了  在REPL我们会使用require、use、require-macros、import等macro来引入命名空间。...请紧记,这些确实仅仅用于REPL而已。而且当我们修改源码后,需要通过(require 命名空间 :reload)来重置并重新加载这个命名空间,不带:reload的话新修改的功能将不会生效哦!  ... (require 'clojure.data) (require '[clojure.set :as s]) 最佳实践 根据clojure-style-guide描述优先级别如下: :require

    81950

    Chrome Extension in CLJS —— 搭建开发环境

    Content Scripts运行环境  由于content scripts是直接运行脚本,没有页面让我们popup那样控制脚本加载方式和顺序,因此只能通过optimizations :whitespace...我们可以通过lein repl启动Clojure的nRepl。  ...repl升级cljs repl  通过lein repl我们建立了一个cljs nrepl供fireplace使用,但在终端我们看到的是一个clojurerepl,而tslime恰好要用的就是这个终端的...那现在我们只要在clojure repl执行(cemerick.piggieback/cljs-repl (cljs.repl.rhino/repl-env))即可。...Cljs早已为我们找到了解决办法,那就是添加extern文件,extern文件描述外部函数、变量等声明,那么GCC根据extern的声明将不对调用代码同签名的标识符作压缩。

    2.1K60

    何在js文件加载Applet控件(js与jsp分离技术)

    何在js文件加载Applet控件(js与jsp分离技术) 我们在写代码的时候,一般喜欢将JSP和JS实现分离开,将页面部分的代码写在.jsp结尾的文件...,而将javascript代码则写在.js结尾的文件,这样写有个好处,那就是javascript是静态代码,在工程部署上,可以将这部分代码部署到静态资源服务器上,从而加快页面的加载速度。...Javascript中经常有一部分代码是动态产生的,导致我们经常不得不将这部分代码写到jsp文件,这就导致代码看起来不雅和难懂。那么我们有没有办法将需要写到jsp页面上的代码写到js文件呢?... 另外,我们在js文件,根据需要,加载下面语句: //得到DIV对象 var testDiv = document.getElementById("testDiv...由于js页面不知道jsp在哪个地方加载js文件,所有像原先那样写一个相当位置的div是不大妥当的,而加载一个固定位置的div,则无论jsp在哪个地方加载js文件,都可以保证div想固定的地方显示了。

    7.1K40

    Chrome Extension in CLJS —— 搭建开发环境

    Content Scripts运行环境  由于content scripts是直接运行脚本,没有页面让我们popup那样控制脚本加载方式和顺序,因此只能通过optimizations :whitespace...我们可以通过lein repl启动Clojure的nRepl。  ...repl升级cljs repl  通过lein repl我们建立了一个cljs nrepl供fireplace使用,但在终端我们看到的是一个clojurerepl,而tslime恰好要用的就是这个终端的...那现在我们只要在clojure repl执行(cemerick.piggieback/cljs-repl (cljs.repl.rhino/repl-env))即可。...Cljs早已为我们找到了解决办法,那就是添加extern文件,extern文件描述外部函数、变量等声明,那么GCC根据extern的声明将不对调用代码同签名的标识符作压缩。

    1.7K20

    一名Clojurian的Emacs配置

    另外,为了更好地在emacs编写Clojure,还需要cider-mode和clojure-mode的支持,这时候就不得不编辑init.el文件,本着KISS (keep it simple, stupid...换句话说,在读取init.el的过程,该变量不论是nil或是non-nil都不会影响package的加载和初始化。所以,这两者之间并没有矛盾。...简单点说,就是防止在package-initialize之后重复加载包,因为可能会影响性能。 模块化 如果把什么东西都揉到init.el文件,这个文件一定会很快变得臃肿不堪。...当你正在编译文件的时候,包宏就会原地展开,然后被eval-when-compile宏加载进内存并被编译成字节码,供后续解析器执行。...最后,需要在init.el文件添加入这么一句(require 'init-clojure-cider),重新启动emacs,找到一个Clojure项目,按下C-c M-j (hack-jack-in)

    2.8K20

    使用 ClojureScript 开发浏览器插件的过程与收获

    对于一般的 cljs 应用,基本都是用一个 script 标签去引用编译后的 js 文件,然后这个 js 文件再去加载其他依赖。...,所以在开发过程我一直开着它。...Clojure,一般需要单独把宏定义在一个文件里面,然后在 cljs 里面用(:require-macros [my.macros :as my]) 这样的方式去引用,而且宏定义的文件名后缀必须是 clj...由于宏编译与 cljs 编程在不同的时期,所以如果宏写错了,就需要把 repl 杀掉重启来把新的宏 feed 给 cljs,这点也比较痛苦,因为 repl 的启动速度实在是有些慢。...这一点在 Clojure 里面虽然也存在,但是 Clojure 里面一般 repl 开了就不关了,直到电脑重启。

    78430

    Clojure 运行原理之字节码生成篇

    但仔细想想会有如下问题: 在 REPL 里面,可以动态添加、修改函数,如果一个命名空间相当于一个类,那么这个类会被反复加载 由于函数和字符串一样是一等成员,这意味这函数既可以作为参数、也可以作为返回值,...根据 Clojure 官方文档,对应关系是这样的: 函数生成一个类 每个文件(相当于一个命名空间)生成一个__init 的加载类 gen-class 生成固定名字的类,方便与 Java...交互 defrecord、deftype生成同名的类,proxy、reify生成匿名的类 需要明确一点,只有在 AOT 编译时,Clojure 才会在本地生成 .class 文件,其他情况下生成的类均在内存...使用 lein compile 编译这个文件,会在*compile-path*指定的文件夹(一般是项目的target)下生成如下文件: $ ls target/classes/how_clojure_work...正如上一篇文章的介绍,这三个方法正是 Compiler 的入口函数,这也就解释了上面 REPL 的实验: 每次重定义一个函数,都会生成一个新 DynamicClassLoader 实例去加载其实现。

    72920

    (cljsrun-at (->JSVM :browser) 语言基础)

    由于宿主环境的不同,因此只能与宿主环境无关的Clojure代码可以在JVM和JSVM间共享,并且cljs也未能完全实现clj的所有语言特性,更何况由于JSVM是单线程因此根本就不需要cljSTM等特性呢....cljs文件用于存放ClojureScript代码 .clj文件用于存放Clojure代码或供JVM编译器编译的ClojureScript的Macro代码 .cljc文件用于存放供CljureScript...; 输出已加载的命名空间下的函数的源码 ; 注意:name必须是classpath下.cljs文件定义的symbol (cljs.repl/source name) ; 示例 (cljs.repl/...ns通过字符串或正则模糊查找symbols (cljs.repl/apropos str-or-regex) ; 示例 (cljs.repl/apropos "sa") (cljs.repl/apropos...*e(一个dynamic var) (pst) (pst e) 注意:当我们使用REPL时,会自动引入(require '[cljs.repl :refer [doc find-doc source

    2.9K70

    Clojure 开发那些事

    这也就意味我们或多或少需要了解这些宿主语言,比如 Clojure 里面没有提供直接操作文件系统、网络的类库,而是采用间接的方法去调用其宿主语言的相应类库。...Emacs + Cider 的组合相比 Intellj + Cursive 最大的优势就是对宏的支持,Cider 提供了对宏展开的快捷键,但在 Cursive 我没找到,不过宏也是比较高级的功能,初学者应用用不到...nrepl ClojureREPL 可以连接到远程服务器上的进程,直接对进程的函数或变量进行修改,这是非常便利的,对于很多运行时的错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程...REPL server 的方式。...Emacs 里面是:M-x cider-connect lein 里面是:lein repl :connect 192.168.50.101:4343 总结 国内关于介绍 Clojure 开发的比较少,

    1.6K20

    如何快速使用 ELisp 进行插件编写

    挫败感的主要来源是对 ELisp 里相关概念的不熟悉,比如 xref 为了能打开 symbol 定义的文件,需要提供一个 xref-location 对象,默认提供了两种实现,xref-buffer-location...要知道 Lisp 的一重要提高生产效率的工具是 REPL,没有 demo 让我复制,我怎么在 REPL 里测试?...就行 clojuredocs 那样,比如 reduce[2] 页面: 幸好在 Emacs China TG 组交流“心得”后,发现了 elisp-demos[3] 插件,可以在 helpful 页面展示函数的用法...• https://github.com/chrisdone/elisp-guide 引用链接 [1] feature: https://github.com/clojure-emacs/cider/pull.../3026 [2] reduce: https://clojuredocs.org/clojure.core/reduce [3] elisp-demos: https://github.com/xuchunyang

    79420

    走进 racket(lisp) 的世界

    上周追着看了个大牛的好几篇文章,发现一个叫racket的语言出镜率颇高 —— 这已经是我十月来第三次从各种大牛的文章接触这个词。...ruby,io,scala,clojure,object c,lua,haskell。 ✓ 爱不释手:学习了全部语法,看作者编写的书,遇到项目时会想想能不能用xxx实现,怎么实现。...golang,erlang。 ✓ 日常使用:只要是需要写代码的地方,下手首先想到的就是TA。python。当然,C也是我日常使用的语言,只不过C是工作语言而已。...racket自带了一个有REPL功能的简单的IDE DrRacket,方便初学者领略语言的魅力。...如今,一门语言如果没有REPL,学习的曲线会高很多。racket在支持REPL的基础上,还提供了一个可以调试的IDE。

    2.5K30

    我是怎样学习新编程语言的

    老子(真·老子,非我)也说,慎终始,则无败事。这里的“终”就是目标,在软件工程,有一种实践很好得反映了这种做事方式——测试驱动开发。...Elixir中有iex命令作为repl,而且这门语言深受Clojure的影响,尤其是文档和例子方面很充足,对于初学者再友好不过。...Clojure中有keyword,{:name "clojure"},而Python并没有这样的数据类型,我只好使用{'name': "python"},那么Elixir呢?...组织代码 上面的验证只需要repl就足够了。但是,真正编写还是得有组织和结构。软件工程,控制复杂度(复杂度从来不会被消除)的基本法则就是模块化。...和Clojure(绝大数Lisp)的(cons dir_name children)类似。 操作符|除了可以前置列表元素,递归解构也是一把好手。 defp decorate(is_last?

    93530
    领券