问题标签 [clojure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
848 浏览

clojure - 难以理解:Clojure 中的状态

我明白什么:state/does/。它在您的类中创建一个字段,就像在 Java 中一样。我不明白这是什么意思?似乎我只看到它使用 Clojure 生成的扩展其他类的类来完成。http://www.fatvat.co.uk/2009/05/clojure-and-robocode.html就是一个例子。我不懂Java,也不太精通面向对象编程。有人可以向我解释 :state 的意义吗,以及它在哪里适合 Java 互操作?

非常感谢!

注意:当我说 :state 时,我指的是 (:gen-class :state)

0 投票
2 回答
2484 浏览

clojure - 当您在 Clojure 中扩展一个 Java 类并定义一个与该类中同名的方法时,会发生什么?

我一直在阅读 Programming Clojure,并且在理解 Stuarts 的主要 Java Interop 示例时遇到了一些麻烦。他扩展了 DefaultHandler,并创建了一个 startElement 方法,然后将该处理程序传递给 XML 解析器。我不明白的是,到底发生了什么。他的 startElement 实现是否覆盖了 DefaultHandler 中定义的实现?我很困惑。我没有使用 Java 的经验,也没有什么面向对象的经验。

谢谢!

0 投票
2 回答
925 浏览

java - Clojure 中的 Java 输入(读取行)在 Emacs 中无法正确读取

有没有人在 windows 和 java 输入上遇到过 emacs 的问题?REPL 中的(读取行)无法识别分隔符(这就是我的猜测)。

在盒子里使用香草clojure,同样的问题。

进一步澄清。

在 EMACS 的 REPL 中使用 (read-line) 或扫描器类,阅读器将不会响应返回(因为它只会进入下一行而不是读取输入)。

(编辑)

read-line 在劣质 lisp 缓冲区中工作,但在 swank clojure 缓冲区中不工作。

0 投票
3 回答
23887 浏览

clojure - 如何在 Clojure 中获取用户输入?

我目前正在学习 clojure,但我想知道如何在 clojure 程序中获取和存储用户输入。我正在查看 clojure api,发现了一个名为 read-line 的函数,但是如果它是正确的函数,我不确定如何使用它......

无论如何,您如何在 clojure 中获取用户输入?

0 投票
5 回答
26598 浏览

clojure - 什么是 zip(函数式编程?)

我最近看到了一些 Clojure 或 Scala(对不起,我不熟悉它们),它们确实压缩在列表或类似的东西上。什么是 zip,它是从哪里来的?

0 投票
4 回答
909 浏览

class - 关于 Clojure 中的列表和其他内容的问题

我有几个关于 clojure 中的列表、类和变量的问题。

  1. 这可能看起来很愚蠢,但我如何访问 List 中的元素?

我正在编写一个允许您操作电话簿的程序;您可以添加条目、删除条目或打印有关条目的信息。这引出了两个问题:

  1. 有没有办法创建一个包含“姓名”“地址”“电话号码”变量的类“条目”?还是在clojure(以及一般的函数式编程中)这是不可能的?如果我不能有一个包含该信息的对象列表,我将如何完成这项任务?

  2. 我正在考虑使用一个函数来读取用户输入以了解用户想要做什么(添加条目、删除条目或打印信息),然后调用适当的函数来执行该操作,该函数在完成时回调第一个函数。将条目列表作为参数传递给每个函数是正确的做法吗?

0 投票
4 回答
5979 浏览

clojure - Clojure 中的代码顺序

我在 Clojure 中有一个简单但令人沮丧的问题,我有一个函数(我们称之为 read-function),它可以从他的输入中找出用户想要做什么,然后调用另一个执行该操作的函数(我们称之为 action-function)。此操作函数在完成后调用读取函数,以便用户可以执行另一个任务。

现在我的问题是,如果我将 read-function 的代码放在 action-function 的代码之前,我会在 read-function 中得到一个错误,说它不知道 action-function 是什么(因为它的代码更进一步下),如果我做相反的事情,那么我显然会收到类似的错误,说无法解析读取功能等。

有没有简单的方法来解决这个问题?

实际代码:

像这样,我在 ajout 函数的 (readCmd botin) 行收到错误消息:无法解析符号:在此上下文中的 readCmd

如果我将这两个函数的代码以相反的顺序放置,我会收到一条错误消息:无法解析符号:在此上下文中的 ajout

0 投票
4 回答
725 浏览

list - 在 Clojure 中访问列表中的地图

这是代码:

在这段代码中,我定义了一个名为 entry 的映射,其中包含一个 :name 和一个 :num,然后我把它放在一个列表中,然后我尝试打印列表的第一个(也是唯一一个)元素的 :name 字段。(或者至少这是我认为我的代码所做的:o)

在将其放入列表之前,我可以从条目映射中访问名称,但是一旦它在列表中,我就会收到此错误。我应该给什么参数?

0 投票
3 回答
151 浏览

list - 关于在 Clojure 中创建列表的小问题

我是 Clojure 的初学者,我有一个简单(愚蠢)的问题。我正在尝试读取 4 个用户输入,然后将这些输入存储到列表中

这是我的代码:

(def in1 (读取行)) (def in2 (读取行)) (def in3 (读取行)) (def in4 (读取行))

(def mylist '(in1 in2 in3 in4))

但是,当我打印列表时,它给了我“in1 in2 in3 in4”。我如何将变量 in1 in2 in3 和 in4 的值放入列表中?

谢谢

0 投票
6 回答
408 浏览

list - 遍历地图列表

我是 Clojure 的初学者,我有一个简单的问题

可以说我有一个由地图组成的列表。每个地图都有一个 :name 和 :age

我的代码是:

现在我如何遍历列表。例如,假设我有一个给定的:name。我如何遍历列表以查看是否有任何地图:名称与我的:名称匹配。然后如果有匹配的地图,我如何获得该地图的索引位置?

-谢谢