如何抽象列表以在Clojure中的其他功能中对其进行操作?
我是功能语言的新手,我正在尝试在Clojure中实现一个简单的附加功能。我的代码: (defn append [lizt1 lizt2] (cond (empty? lizt1) lizt2 :else (def…
如何使用CASE或CORE.Match使用重新匹配
我正在尝试在Clojure中实现模式匹配。我的偏爱是使用 core.Match 在给定的正则表达式模式上匹配。我尝试了一下: (defn markdown->html [markdown-lin…
fn,让内部clojure宏观
我遇到了Clojure宏的某些局限性。我不知道如何优化以下代码? (defmacro ssplit-7-inefficient [x] (let [t 7] ;; Duplicated computation here! `(do…
如何在 Clojure 中对字符串向量进行类型提示?
我的函数返回一个序列,例如字符串向量。 这是一个微不足道的示例(实际上,它是从类型推理中得出的,但说明了这一点): (defn ^PersistentVector my…
在Clojure中使用非命中板的符号
这是一个最小的工作示例,展示了 Clojure 如何处理非命名空间符号: (defmacro simple-macro [s] (name `~s)) (str "And the answer is " (simple-mac…
Clojure Spec 解析 Reducible
clojure.spec.alpha/+的文档说: 返回匹配一个或多个匹配的值 序产生匹配的向量 ,我可以这样使用: erdos=> (s/conform (s/+ (s/cat :e #{\a \b \c}…
为什么这个看似基本的 clojure 函数这么慢?
我是Clojure的新手,作为快速练习,我编写了一个应该通过斐波那契序列进行的函数,直到超过999999999的99999999.1亿次(也做一些额外的数学,但不是很…
使用 Java 通过 ID 在 X11 窗口上绘画
我的目标是使用 Java 库在 X11 窗口上绘图。问题是我想在一个已经存在的窗口上执行此操作,并且我知道它的窗口 ID。我已经使用 C 和 Rust 完成了此操…
在 Clojure 中访问父对象字段/方法
我有一个java.awt.frame,它是java.awt.component的后代。我正在尝试获取组件的 peer 字段,否则请在其上调用 .getpeer 。 (def f (new Frame "AWT te…
ICOCERCE会产生迄今为止的协议错误
我接手了一个 Clojure 项目,遇到了如下错误: No implementation of method: :to-date-time of protocol: #'clj-time.coerce/ICoerce found for clas…
计算Clojure集合的图像包括零值?
(defn image-of "computes the image of the element x under R" [R x] (set (for [r R] (when (= (first r) x) (second r))))) 函数想法:当第一个…
在Vscode中的Clojure,Calva与编译路径混在一起?
因此,我通过Lein,测试和运行设置了一个项目,正常工作。我在VSCODE(安装CALVA)中打开它,并且在运行相同的测试时: Lein Run Test 我获得 c:\ us…
如何通过Clojure的两套迭代以退还其笛卡尔产品?
因此,我接受两个集合并想要迭代它们,以便返回一个包含两个集合的叉积的新集合。 (defn cartesian "computes Cartesian product of A and B" [A B] u…