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

如何让``lein repl`使用`user`而不是`main`进行开发

在Clojure项目中,使用lein repl命令可以启动一个REPL(Read-Eval-Print Loop)环境,用于交互式开发和调试。默认情况下,lein repl会加载项目的main命名空间作为入口点,但有时我们希望使用user命名空间作为开发的入口点。

要让lein repl使用user命名空间而不是main进行开发,可以按照以下步骤进行设置:

  1. 打开项目的project.clj文件。
  2. :repl-options关键字下添加一个:init关键字,并将其值设置为一个字符串,该字符串包含一个Clojure表达式。
  3. 在该表达式中,使用in-ns函数将当前命名空间切换为user命名空间。

下面是一个示例的project.clj文件的片段,展示了如何进行设置:

代码语言:txt
复制
(defproject my-project "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.10.3"]]
  :repl-options {:init "(in-ns 'user)"})

完成以上设置后,再次运行lein repl命令时,将会加载user命名空间作为开发的入口点。这样,你就可以在REPL环境中直接使用user命名空间中定义的函数和变量进行开发和调试。

请注意,以上设置仅适用于使用Leiningen构建工具的Clojure项目。如果你使用其他构建工具或开发环境,可能需要查阅相关文档以了解如何配置相应的设置。

希望以上信息对你有所帮助!如果你需要了解更多关于Clojure开发或其他云计算领域的知识,请随时提问。

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

相关·内容

Clojure和CloudStack

您可以在浏览器中尝试使用Clojure,并熟悉它的交互式解释器(REPL)。您可以通过这个基于Web的REPL来跟随这个针对无LISP编程经验者编写的教程。...你可以使用lein来创建Clojure项目的骨架,或者启动交互式解释器(REPL)来对代码进行测试。 安装Leiningen的最新版本很简单,下载此脚本并将其设置在您的系统执行路径中。...第一次运行lein repl时它将会自我引导: $ lein repl Downloading Leiningen to /Users/sebgoa/.lein/self-installs/leiningen...“ 使用 leiningen来创建一个项目骨架,以此来开发您的使用了Clostack的Clojure项目。...lein new toto Lein会自动创建一个src/toto/core.clj文件。编辑它,把foo替换为-main。这个极为简单的函数将返回Hello World !。

1.1K60

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

因此,这次选择了 cljs,整体下来流程很顺利,除了迁移之前的功能,又加了更多功能,希望能成为最简单易用的重定向插件 :-) 闲话少说,下面的内容依次会介绍 cljs 的工作机制、开发环境,如何 cljs...为了方便大家使用 cljs 开发插件,我整理了一份模板,供大家参考。...整体工作流程如下: Cljs 还提供 与原生 JS 的交互、集成第三方类库的支持,所以,只要能用 JS 的地方,都能用 cljs, 开发环境准备 开发 cljs 的环境首选 lein + figwheel...,figwheel 相比 lein-cljsbuild 提供了热加载的功能,这一点对于开发 UI 很重要!...默认会使用 rhino 作为 repl 求值环境,这个在开发浏览器插件时功能很有限,但是对于查看函数定义还是可以的。

74330

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

使用 lein compile 编译这个文件,会在*compile-path*指定的文件夹(一般是项目的target)下生成如下文件: $ ls target/classes/how_clojure_work...我们知道 Clojure 里面很多“函数”其实是用宏实现的,宏在编译时会进行展开,生成新代码,上面代码中的ns、defn都是宏,展开后(在 Cider + Emacs 开发环境下,C-c M-m)可得...仅仅有上面介绍的重定向机制是无法实现动态运行时的,还需要一个灵活的 ClassLoader,可以在 REPL 做如下实验: user> (defn foo [] 1) #'user/foo user>...# 为了能用 java -jar 方式运行,需要在 project.clj 中添加 # :main how-clojure-work.core $ lein uberjar $ time java -jar...总结 Clojure 作为一门 host 在 JVM 上的语言,其独特的实现方式其拥动态的运行时的同时,方便与 Java 进行交互。

70520

Clojure 开发那些事

作为万里长城的第一步,这篇文章首先如何入门 Clojure 语法,紧接着介绍 Clojure 开发环境搭建,然后介绍使用第三方库时的一些注意点,最后介绍一下常见的测试方法。...这一点也 Clojure 在生产环境中使用变得可能,比如 http-clj 就是对 Apache HttpComponents 的包装,更符合 Clojure 使用习惯而已。...,最好带着 issue 里面的问题去看代码,说不定你就从使用者变成了开发者呢,我第一个尝试给了 http-clj。...nrepl Clojure 的 REPL 可以连接到远程服务器上的进程中,直接对进程中的函数或变量进行修改,这是非常便利的,对于很多运行时的错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程...Emacs 里面是:M-x cider-connect lein 里面是:lein repl :connect 192.168.50.101:4343 总结 国内关于介绍 Clojure 开发的比较少,

1.6K20

如何在Ubuntu 14.04上部署Clojure Web应用程序

介绍 人们对函数式编程的兴趣不断增加,更具体地说,是在Clojure中对Web进行编程。许多关于如何构建基本应用程序的教程经常忽略部署细节。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...您的服务器上具有sudo访问权限的非root用户帐户,您可以按照这些说明进行设置 第一步 - 创建和打包示例Clojure应用程序 第一步是使用git抓取示例Clojure项目进行部署。...如果您愿意,可以自己学习该教程,不是克隆此存储库。 Clojure利用JVM来运行其代码,因此您需要编译项目来运行它。...设置权限,以便任何用户都可以使用Leiningen提供的lein实用程序。

1.4K00

Java扩展Nginx之二:编译nginx-clojure源码

/zq2599/blog_demos 为什么要编译nginx-clojure源码 作为《Java扩展Nginx》的第二篇,本想与大家一起开始nginx-clojure的深度之旅,但有个问题若不解决,会大多数有兴趣的读者立即止步...、关闭网页、再也不见 前文咱们使用的是nginx-clojure官方的安装包,这是个编译好的nginx可执行文件,开箱即用,当时我们还用命令查看过nginx版本是1.18.0,如下图: 直接使用nginx-clojure...如果说问题1可以通过等待来解决,那么,假设咱们的nginx不仅需要nginx-clojure能力,还需要集成其他第三方或者自研模块,那又该如何呢?...所以,nginx-clojure提供的安装包,只能作为一个学习工具,帮助咱们熟悉nginx-clojure技术框架,或者在开发的时候用到,至于生产环境就不适合了 此刻,经验丰富的您一定看出了欣宸的套路:.../leiningen/stable/bin/lein \ && chmod a+x /usr/bin/lein \ && lein 实测在腾讯云服务器上执行上述命令,可能出现连接超时的错误(Failed

34320

storm流式处理框架

好,如果仅仅需要解决这5个问题,可能会有无数种方案,而且各有千秋,随便举一种方案,使用消息队列+分布在各个机器上的工作进程就ok啦。我们再继续往下看。 1、容易在上面开发应用程序。...试想下,如果,一个游戏新版本上线,有一个实时分析系统,收集游戏中的数据,运营或者开发者可以在上线后几秒钟得到持续不断更新的游戏监控报告和分析结果,然后马上针对游戏的参数和平衡性进行调整。...虽然使用不是Storm……Zynga研发之道探秘:用数据说话)。 除了低延迟,Storm的Topology灵活的编程方式和分布式协调也会给我们带来方便。用户属性分析的项目,需要处理大量的数据。...使用传统的MapReduce处理是个不错的选择。但是,处理过程中有个步骤需要根据分析结果,采集网页上的数据进行下一步的处理。这对于MapReduce来说就不太适用了。...需要知道Storm不是一个完整的解决方案。使用Storm你需要加入消息队列做数据入口,考虑如何在流中保存状态,考虑怎样将大问题用分布式去解决。解决这些问题的成本可能比增加一个服务器的成本还高。

93750

前端构建:Source Maps详解

:optimizations :none :source-map true}}]})   执行lein命令 $ lein cljsbulid once....map文件,其实是一个关系映射文件,用于存放源码和编译后代码的文件、行号、列号和变量名的映射关系; .map文件生成器,每种预处理器(Lessc、Closure、cljsc等)都可通过可选项设置如何生成...最后一位(Sign位),当该节为当前编码段的第一节时,表示符号1为负号,0为正号;若不是第一节则表示数值位。         下面对16进行VLQ编码,            1....对每段进行Base64编码,得到gB。(下图为Base64编码字符集) ?...                                   通过Chrome和FF下devTools的network面板我们可以看到浏览器加载了.map文件和源代码文件,现在问题来了,那么在生产环境当中用户访问网页时岂不会多加载两个开发环境使用的文件吗

1.5K80

又是一个名叫草泥马的项目:thefuc

我很多时候都是微不足道的原因导致了命令行出错,例如将 python 输入成 ptyhon,例如将 ls -alh 输入成 ls a-lh导致出错,这个时候我会想说:“fuck”。...起源 开发 thefuck 的这位同仁,恐怕也经常会有这种不和谐的情况。因此开发了这个软件 thefuck。...例如: ls 和 sl 使用过 ubuntu 的开发者很多都知道有这么一条命令:sl。这条命令是在你将 ls 错误地输成 sl 时,会在屏幕上快速驶过一辆火车。...lein_not_task:修正 lein,例如 lein rpl。 mkdir_p:mkdir 时尝试添加 -p 选项。 no_command:修正不存在的命令,例如 vom 修正为 vim。...大部分情况下,thefuck 可能给出的是正确的修正,但是小部分情况下,给出的修正并不是你想要的。

81010

2018年10大安全预测

很多美国公司在等着看GDPR会在国家层面有哪些影响,欧盟也会拿出一个不合规的跨国公司作为例子,Cylance公司首席安全官和首席信任官Malcolm Harkins这样表示。...大型数据整合者将面临越来越大的压力,他们被要求更充分地披露他们积累的个人数据类型,解释何时以及如何使用、分享或者售卖,以及开始提供对分发和使用的某些管控,通过寻找和发现异常的消费模式,或者滥用数据库上的账户凭证...自动化和机器学习将用于释放安全人员的时间 Resolve Systems公司首席产品官Larry Lein表示,随着自动攻击数量的增加将安全运营中心无法单靠手动流程来应对,这使得企业会越来越适应安全自动化...据BeyondTrust称,利用自动化来完成大部分繁重的工作,这将网络团队把注意力集中在发现高风险威胁的工作上,并为改进防御措施进行有效地规划。...企业将转向利用特权帐户管理来重新定义边界 Ribbon Communications公司首席市场官、业务开发高级副总裁Patrick Joggerst表示,随着越来越多的人在办公室之外的环境办公,企业也开始转向使用那些可以确保对话和管理协作的软件

68450

看这四个Python库如何自动实现

在本文结尾,读者应该很好地了解如何使用 Prompt Toolkit,Click(命令行界面创建工具包),Pygments 和 Fuzzy Finder 来实现一个易于使用REPL(交互式解释器)。...我们的 REPL如何知道要给出什么提示的? 我们提供了一个可能名目提示的字典。 假设我们正在为 SQL 实现 REPL。我们可以使用 SQL 关键字存储我们的自动完成字典。...) 再次,我们只需使用一个名为 WordCompleter 的 prompt-toolkit 的内置例程,它将用户输入与可能提示的字典进行匹配,并提供一个列表。...本节不介绍如何作为参数解析器使用Click;取而代之的是我将研究一些 Click 库的其他功能的。...这样就定义了一个完成器,不是 prompt-toolkit 附带的 WordCompleter。

1.6K40
领券