gpt4 book ai didi

clojure - 应用 Clojure

转载 作者:行者123 更新时间:2023-12-03 00:21:38 27 4
gpt4 key购买 nike

我关注 clojure 一段时间了,它的一些功能非常令人兴奋(持久数据结构、函数式方法、不可变状态)。然而,由于我仍在学习,我想了解如何在实际场景中应用,证明其好处,然后演化并应用于更复杂的问题。即,使用 clojure(例如在电子商务设置中)可以轻松实现哪些目标,可以用来学习并确定其优势。

我研究过基于 clojure 的 Web 框架,但我并不热衷于它们,因为它们需要手写的 javascript(与 gwt 不同)。所以对我来说,更多的是后端处理。有人可以解释一下他们在哪里应用了 clojure(在实际部署中),以及它是如何证明有用的(以及使用 clojure 的缺点,如果有的话)

进一步分析:惰性求值是 Lisp 强大功能的一个常见例子。 Clojure 作为 Lisp 语言,具有同样的优势。因此,此类应用程序的真实示例(在 clojure 环境中)将帮助我获得见解。

最佳答案

您提到您使用 CSV 文件。我发现这些非常有帮助,因为我必须解析 csv 文件——使用 clojure-csv;然后使用序列函数从该 csv 文件中提取某些列;使用 zipmap 交错 http 表单字段名称;然后使用 clj-http.client 对 ASP 应用程序进行 http 调用。

(def accumail-url-keys ["CA", "STREET", "STREET2", "CITY", "STATE", "ZIP", "YR", "BILL_NO", "BILL_TYPE"] )
.
.
.

(defn ret-params
"Generates all q-parameters and returns them in a vector of vectors."
[all-csv-rows]
(reduce
(fn [param-vec one-full-csv-row]
(let [q-param (zipmap accumail-url-keys one-full-csv-row)
accu-q-param (first (rest (split-at 3 q-param)))
billing-param (first (split-at 3 q-param))]
(conj param-vec [accu-q-param billing-param])))
[]
all-csv-rows))

该项目是一个加速 Clojure 学习练习。

两个站点 4Clojure.comhttp://www.cis.upenn.edu/~matuszek/cis554-2010/Assignments/clojure-01-exercises.html是开始进行 Clojure 练习的好地方。您可以在此基础上进行构建。

还有Clojure Google Group是获取信息非常有用的地方。

宾夕法尼亚大学的 CIS 练习虽然看起来很简单,但给了我很多东西需要消化,尤其是获取树的骨架,最近这个骨架问题在 Google Clojure 小组中得到了长时间的讨论。

祝你好运。CMN

关于clojure - 应用 Clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7460626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com