问题标签 [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 投票
6 回答
5846 浏览

java - 在没有 Java 知识的情况下学习 Clojure

好的,所以我对另一个列表感到兴奋。我给自己买了一本测试版 Clojure 编程书……

我最注意到的一件事是假设我知道......就像所有主要的java类一样。

除了,一般来说,我并不真正关心 Java。我只是希望有足够的知识让 Clojure 成为我的选择。

关于如何学习我所需要的一切的任何建议?

0 投票
2 回答
3494 浏览

clojure - Clojure 读取行函数问题

我试图在我的 Clojure 程序中获取控制台输入,但是当它到达程序的那个部分时它给了我这个错误。

“读取”功能有效,但这不是我需要的。这是我正在使用的代码。

编辑:

这显然只是我正在使用的版本。它是当前 Programming Clojure 示例代码中包含的版本,我将测试当前的发布版本,看看是否有问题。

0 投票
3 回答
1283 浏览

clojure - Clojure 'if' 从不评估它的第三个参数

一段时间以来,我一直试图弄清楚这个。

这就是我写的函数。is-decimal要么传递诸如 "2.5" 或 "5" 之类的东西,但它总是使用if' 的第二个参数,而不是它的第三个参数。我(. astr (indexOf (int \.)))在 REPL 中进行了测试,它似乎工作正常,失败时返回 -1,失败时返回 1。我相信这可能是问题所在。-1 在 Clojure 中并不意味着错误。谁能想到解决这个问题的方法?

提前致谢。

编辑:感谢您的帮助。在我写完这篇文章后,我有了一个想法。我编写了一个检查 1 和 -1 的谓词函数。正是我需要的。我不应该在醒来后直接编码:\

0 投票
4 回答
4440 浏览

lisp - 复合布尔测试的 Clojure(或 Lisp)等价物

在 C++ 中,我会写这样的东西:

我认为 Clojure 等价物是这样的是否正确:

还是有另一种方法来执行我错过的逻辑“和”?正如我所说,后一种形式似乎工作正常——我只是想知道是否有一些更简单的方法来执行逻辑与。在 Clojure Google Group 上搜索“boolean”、“logical”和“and”会发现太多结果,没有太多用处。

0 投票
5 回答
5630 浏览

lisp - Lisp 代码格式化

一位花时间评论我关于 Clojure/LISP 语法的其他问题的人指出,我没有以标准 LISP 方式编写示例代码。所以他很友好地重写了代码片段,这是一个很大的帮助。但它在我的脑海中提出了另一个问题。为什么会这样:

这是标准 LISP 格式比这种形式更可取:

由于我的 C++ 开发背景,这就是我天真地格式化此代码的方式。我想知道后一种格式是否有任何好处,或者它只是一个根深蒂固的标准(如 QWERTY 键盘)。我并不是要争论——我很难理解为什么第一种形式更可取。第二种形式帮助我更容易地查看代码结构。

0 投票
5 回答
2025 浏览

struct - Clojure 结构嵌套在另一个结构中

是否可以在 Clojure 的结构中嵌套结构?考虑以下代码:

当然,这是一个人为的例子,但在某些情况下,我想将大型数据结构分解为更小的子结构,以使代码更易于维护。正如评论所表明的,如果我做表格 1,我会得到“249 nil nil”,但如果我做表格 2,我会得到“结构构造函数的参数太多”。

如果我以错误的方式处理这个问题,请告诉我我应该做什么。搜索 Clojure 谷歌组并没有为我找到任何东西。


编辑:

我想我在问题的陈述中并没有我想的那么清楚:

1.) 是否可以在 Clojure 中将一个结构嵌套在另一个结构中?(从下面判断是肯定的。)

2.) 如果是这样,正确的语法是什么?(再一次,从下面来看,似乎有几种方法可以做到这一点。)

3.) 当你有一个嵌套在另一个结构中的结构时,你如何通过指定的键获取一个值?

我想我的示例代码并没有真正证明我想要做得很好。我在此处添加此内容,以便其他搜索此内容的人可以更轻松地找到此问题及其答案。

0 投票
17 回答
18784 浏览

lisp - 我应该学习哪种 Lisp?

我应该学习哪种 Lisp(方言),为什么?

CL 和 Scheme 之间的碎片化减慢了吸收(至少对我而言!)。

所以,请给我“真正的答案”!

我试图阅读功能比较,它们似乎陷入了深奥(我不完全理解),比如方言是否完全尾递归等等。我希望你们所有人(集体)能够清楚地说明不透明的差异。

我喜欢的东西

良好的库支持、良好的环境和 Unicode 支持。

我不喜欢的东西

火焰战争。一开始很有用,但会干扰长期学习的功能。


更新

  1. 一旦我获得了 readline 支持,我一直在使用 MzScheme,我很享受。我不在 Unix 上运行 GUI,所以它对我来说似乎是一个很好的环境选择。

  2. 我也很高兴 Clojure 有一个易于在 debian 上安装的 .deb 包,因此它更易于使用。这是一个很大的胜利。尽管下面有一些相当容易激怒的敌意,但进入门槛低是一种胜利。我喜欢被勺子喂。

  3. 在阅读了更多的SICP 之后,我确实更好地理解了尾递归的问题。

0 投票
6 回答
2419 浏览

java - 你能混合使用 JVM 语言吗?即:Groovy & Clojure

我知道你可以很容易地混合 groovy&java、clojure&java、whateverJvmLang&java。

这是否也意味着我也可以让 clojure 和 groovy 代码交互?如果我使用 Grails 或 jRoR,我也可以在那个环境中使用 clojure 吗?

0 投票
4 回答
8001 浏览

lisp - 将 Common Lisp 代码移植到 Clojure

将 Common Lisp 应用程序移植到 Clojure 有多实用?更具体地说,Common Lisp 中存在哪些 Clojure 中不存在且必须重写的功能?

0 投票
18 回答
1777 浏览

functional-programming - 如何让我的大脑以“lisp 模式”运转?

我的教授告诉我们,我们可以为下一个编程任务选择一种编程语言。我一直想尝试一种函数式语言,所以我想我会尝试 clojure。问题是我理解语法并理解基本概念,但我无法让所有内容都在我的脑海中“点击”。有人有建议吗?还是我可能选择了错误的语言来开始函数式编程?