当前位置: 首页 > 知识库问答 >
问题:

Clojure REPL和工作流

乜烨霖
2023-03-14

来自Haskell,我通常的工作流程是:l

现在,我正在一个典型的lein新应用程序项目中使用lein repl。我已经创建了一个测试。我的核心旁边的clj文件。clj。在那里我定义了两个函数,一个协议和一个实现协议的记录。我可以通过(使用'testing.testing:reload)使用该函数。问题是我无法使用实际记录:

(def c (Something. 0))

我得到:

CompilerException java.lang.IllegalArgumentException: Unable to resolve classname: Something

那么,在这种情况下,什么是“更好”的工作流程?我不想直接在REPL上设置功能、协议、记录,也不想依赖我的core.cls文件?我只想要一个文件,在那里我可以扔掉一堆东西,然后玩它。

我的环境是MacOSX终端升华

编辑:几分钟后,我可以通过以下方式加载记录:

  1. (load-file)

我的意思是,肯定有比这更好的方法...:/我只想加载所有东西。另一方面,我能够使用记录实现的协议方法。


共有1个答案

长孙嘉
2023-03-14

您是否尝试过使用为创建记录而自动定义的便利功能?在本例中,它将是(-

(Something.0)正在使用Java构造函数,这需要单独导入Java类。当您定义记录以允许Java与您在Clojure中定义的内容进行互操作时,会自动创建Java类。

使用(-

鉴于上述情况,编辑似乎没有帮助,下面是一些逐步说明,以获得一个最小的工作示例

>

  • 您有一个应用程序目录testing,该目录是在新的应用程序testing
  • testing/src/testing中创建testing。clj包含以下两行

    (ns testing.testing)
    (defrecord Something [n])
    

  •  类似资料:
    • 将是什么 线程不足,无法执行工作流。如果此消息始终显示,请选择WorkerOptions。应减小maxConcurrentWorklfowExecutionSize或WorkerOptions。maxWorkflowThreads增加。 处于阻塞状态的工作流在内存中保持活动状态??处于等待状态的工作流是否持续检查条件??更多的 -

    • Kubernetes的社区是以SIG(Special Interest Group特别兴趣小组)和工作组的形式组织起来的,每个工作组都会定期召开视频会议。 所有的SIG和工作组都使用slack和邮件列表沟通。 主要SIG列表 api-machinery:所有API级别的功能,包括了API server、API注册和发现、通用的API CRUD语义,准入控制,编码/解码,转换,默认值,持久化层(et

    • 伙计们,你们能帮帮忙吗 所以我正在尝试显示我从后端获得的数据,但似乎 *ngFor 不起作用,只想返回启用的大小如何使用 ngIf 这是模板 这是我得到的数据(我正在循环的部分) 所以我需要显示每个尺寸的价格,然后减去折扣,如果未启用,则显示隐藏该尺寸。

    • 我正在使用Tomcat8作为Spring Boot项目的一部分,我的acceptCount设置似乎不起作用。我的服务器不是只接受300个连接,而是接受了我扔给它的近1000个连接,当然同时处理的连接不超过200个。 Tomcat文档在AcceptCount上似乎很清楚:“当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。当队列满时接收的任何请求都将被拒绝。”但显然这不会发生。 当然还

    • 我正在做一个窗口,有一个大的文本区域和一个小的文本区域下。这是我到目前为止得到的: 这是我的代码: 我如何使较大的textarea部分透明,这样我就可以看到背景,我如何移动“比如说:”到较小的textarea前面?

    • 在Git管理下,大家实际操作的目录被称为工作树。 在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。 Git在执行提交的时候,不是直接将工作树的状态保存到数据库,而是将设置在中间索引区域的状态保存到数据库。因此,要提交文件,首先需要把文件加入到索引区域中。 所以,凭借中间的索引,可以避免工作树中不必要的文件提交,还可以将文件修改内容的一部分加入索引区域并提交。 下一页是上述内容的具体