javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

Clojure中的自定义例外?

我一直在尝试在Clojure中创建用户定义的异常,并且遇到了各种各样的问题。 我尝试了这里概述的方法:

[HTTP://恩.wiki books.org/wiki/Clo巨热_programming/concepts#user-defined_exceptions]

(gen-and-load-class 'user.MyException :extends Exception)

但这似乎在Clojure 1.2中不起作用(或者我做错了...)。 我的环境是Clojure 1.2,Emacs和lein swank。

谢谢你的帮助!

trans by 2020-02-22T06:48:47Z

clojure-我可以清洁REPL吗?

我在repl控制台中玩了很多代码,如何清除它? 我想要一个新的而不重启它。 能做到吗?

trans by 2020-02-21T01:13:44Z

不带参数的函数的Clojure def vs defn

我已经用clojure编写了一个程序,但是其中一些功能没有参数。 将此类函数编码为不带参数的“ def”而不是“ defn”有什么好处?

trans by 2020-02-19T04:12:33Z

选择IDE /编辑器进行Clojure编码

我正在为我的Clojure编码寻找编辑器或IDE,但发现以下线程:
Mac OS X上的Clojure编辑器/ IDE建议

但是我有几个问题:
哪个IDE提供最佳的Clojure环境(现在):IntelliJ,Eclipse或NetBeans?
与以前的重量级IDE相比,Aquamacs(我读过Rick正在使用它)有什么优势?

trans by 2020-02-15T01:30:27Z

在哪里放置Clojure.Spec的规格?

因此,我正在深入研究Clojure.Spec。

我偶然发现的一件事是,我的规格放在哪里。 我看到三个选择:

全局规格文件

在大多数示例中,我在网上找到了一个大文件(s/def),该文件在主命名空间中是必需的。 它具有用于所有“数据类型”和功能的所有(s/fdef)(s/fdef)

优点:

  • 一个文件来统治他们

相反:

  • 这个文件可能很大
  • 违反单一责任原则?

生产名称空间中的规范

您可以将您的(s/def)(s/fdef)直接放在您的生产代码旁边。 因此,实现和规范共存于同一名称空间中。

优点:

  • 实施和规范在同一地点
  • 一个名称空间-一个关注点?

相反:

  • 生产代码可能会变得混乱
  • 一个名称空间-两个问题?

专用规范名称空间结构

然后我想,也许Specs是第三种代码(生产和测试之后)。 因此,也许它们应该拥有自己的名称空间结构,如下所示:

├─ src
│  └─ package
│     ├─ a.clj
│     └─ b.clj
├─ test
│  └─ package
│     ├─ a_test.clj
│     └─ b_test.clj
└─ spec
   └─ package
      ├─ a_spec.clj
      └─ b_spec.clj

优点:

  • 规范的专用(但相关)名称空间

相反:

  • 您必须采购并要求正确的名称空间

谁有其中一种方法的经验?
还有其他选择吗?
您如何看待不同的选择?

trans by 2020-02-09T05:53:03Z

clojure-返回满足条件的地图/列表/序列中的第一项

我正在寻找一个函数,该函数返回fn评估为true的序列中的第一个元素。 例如:

(first-map (fn [x] (= x 1)) '(3 4 1))

上面的伪函数应该返回1(列表中的最后一个元素)。 Clojure中有类似的东西吗?

trans by 2020-02-08T21:08:55Z

动态-为什么动态输入Clojure?

我非常喜欢的一件事是阅读不同的编程语言。 目前,我正在学习Scala,但这并不意味着我对Groovy,Clojure,Python和许多其他语言不感兴趣。 所有这些语言都具有独特的外观和某些特色。 对于Clojure,我不了解这些设计决策之一。 据我所知,Clojure非常强调其功能范式,并且几乎迫使您尽可能使用不可变的“变量”。 因此,如果一半的值是不可变的,为什么要动态键入该语言?

Clojure网站说:

首先,Clojure是动态的。 这意味着Clojure程序不仅是您可以编译和运行的程序,而且还可以与之交互。

好吧,这听起来很奇怪。 如果程序已编译,则无法再进行更改。 当然,您可以与它进行“交互”,这就是UI的用途,但是该网站当然并不意味着一个整洁的“动态” GUI。

Clojure如何从动态打字中受益

我的意思是Clojure的特殊情况,而不是动态类型的一般优点。

动态类型系统如何帮助改善功能编程

同样,我知道不溢出“ int a”的乐趣。 遍及源代码,但类型推断可以减轻很多麻烦。 因此,我只想知道动态类型如何支持功能语言的概念。

trans by 2020-02-04T10:33:15Z

在Clojure中使用名称空间的常见约定是什么?

我在使用Clojure中使用名称空间时找不到好的建议和通用做法很麻烦。 我意识到命名空间与Java包不同,因此我试图弄清Clojure中的约定,这似乎很难确定。

我想我有一个很好的主意,如何将函数拆分为clj文件,甚至大概如何将这些文件组织为目录。 但是除此之外,我很难找到适合我的开发环境的机制。 一些相互关联的问题:

  1. 我是否对Clojure名称空间使用与通常对Java包相同的唯一性约定? [即backs-company-domain.project.subsystem]
  2. 我应该将文件保存在与名称空间匹配的目录结构中吗? [ala Java]
  3. 如果我有多个命名空间,是否需要将所有代码编译到jar中并将其添加到类路径中以使其可访问?
  4. 每个命名空间都应该编译到一个jar中吗? 还是应该创建一个包含来自许多命名空间的clj代码的jar?

谢谢...

trans by 2020-01-28T16:07:42Z

clojure-将元素放在集合的尾部

我发现自己做了很多事情:

(concat coll [e]),其中coll是集合,e是单个元素。

Clojure中有执行此操作的功能吗? 我知道conj最适合矢量,但是我不知道将使用哪个coll。 例如,它可以是向量,列表或排序集。

trans by 2020-01-27T18:32:38Z

clojure-如何执行系统命令?

如何执行系统特定的命令并在Clojure中获得它们的响应? 例如,假设我们在Linux机器上,如何调用topfree,并获取其结果以进行进一步处理?

trans by 2020-01-23T00:59:28Z

clojure-Cake和Leiningen有什么区别?

Cake和Leiningen有什么区别?

trans by 2020-01-21T00:49:55Z

lisp-您对Clojure有何看法?

你们如何看待Clojure? 我正在考虑接下来学习它,目前使用Erlang,除了记录惨淡之外,总的来说我对此感到满意...Clojure是否像LISP一样强大?

trans by 2020-01-15T08:12:38Z

leiningen-Clojure应用程序中的资源

我在Clojure项目(GUI应用程序)中使用了Leiningen,并在项目根目录下创建了一个“资源”目录来保存应用程序使用的图像。

在测试过程中在本地运行我的应用程序时,我使用相对路径“ resources / logo.png”获取图像,并且效果很好。 但是,当我使用Leiningen构建uberjar时,Leiningen将资源文件夹中的文件放在JAR的根文件夹中,因此我对资源文件的引用不再起作用。

使用Leiningen访问此类资源的正确方法是什么?

trans by 2020-01-14T07:29:17Z

Clojure的命名约定是什么?

谁能解释或指出我在哪里可以找到clojure的命名约定:

  1. 档案名称
  2. 函数(据我了解,函数名称只是用短划线分隔的值)
  3. 变数
trans by 2020-01-14T06:27:19Z

如何在Clojure中停止Jetty服务器?

我正在使用ring和clojure编写Web应用程序。 我正在将Jetty适配器用于开发服务器,并将emacs / SLIME用于IDE。 尽管wrap-reload确实有帮助,但是run-jetty阻止了我的粘液会话,并且我希望能够随意启动/停止它,而不必在单独的终端会话中运行它。 理想情况下,我想定义一个服务器代理,并定义启动/停止服务器来启动/停止代理内的服务器。 这可能吗?

trans by 2020-01-11T13:34:25Z

macos-Mac OS X上的Clojure编辑器/ IDE建议

我开始学习Clojure编程语言。 Mac OS X上对Clojure编辑器/ IDE有什么建议吗?

2009年9月23日更新:自从我最初发布此问题以来,Clojure领域发生了巨大变化。 下面的许多链接,尤其是那些使用Emacs引用clojure-mode的链接,都是过时的。 我发现最好的Clojure IDE是最近发布的(2009-08-25)Enclojure Netbeans插件。

更新2010-04-30:关于此主题的另一篇非常好的文章是Clojure IDE-Lau B. Jensen撰写的The Grand Tour。 另外,对于我自己的Clojure开发,我实际上已经迁移到Emacs / swank-clojure。

trans by 2020-01-11T05:22:49Z

绑定-Clojure关键字参数

在Common Lisp中,您可以执行以下操作:

(defun foo (bar &key baz quux)
  (list bar baz quux))

(foo 1 :quux 3 :baz 2) ; => (1 2 3)

Clojure没有关键字参数。 一种选择是:

(defn foo [bar {:keys [baz quux]}] 
  (list bar baz quux))

(foo 1 {:quux 3 :baz 2}) ; => (1 2 3)

太多的嵌套括号必须一直输入和阅读。 它还要求将显式哈希映射作为参数而不是平面列表传递。

看起来似乎没有人引爆标点炸弹的关键字参数,最惯用的Clojure等效词是什么?

trans by 2020-01-10T08:03:14Z

clojure-参考集vs通勤vs

设置Clojure中ref的值的三种方法有什么区别? 我已经阅读了几次有关ref-set,通勤和变更的文档。 我很困惑在什么时候使用哪个。 有人可以简要介绍一下这些差异是什么以及为什么需要它们吗?

trans by 2020-01-04T23:21:06Z

并发模型:Erlang vs Cloju

我们将使用Clojure编写并发程序,该程序将从大量传入的邮件中提取关键字,这些邮件将与数据库进行交叉检查。

我的一个队友建议使用Erlang编写此程序。

在这里,我想指出一些函数编程新手,因此我有点怀疑clojure是编写此程序的不错选择,还是Erlang更合适。

trans by 2020-01-04T08:37:51Z

jvm-为什么Clojure命名为Cloju

语言的名称为何为“ Clojure”?

我在#clojure中询问了一下。 到目前为止,还没有运气。

trans by 2020-01-04T04:18:11Z

1 2 3 4 5 下一页 共5页