我关注clojure已经有一段时间了,它的一些特性非常令人兴奋(持久化数据结构、函数式方法、不可变状态)。然而,由于我还在学习,我想了解如何在真实场景中应用,证明其好处,然后演变和应用于更复杂的问题。也就是说,使用clojure可以轻松获得什么(例如,在电子商务设置中),可以用来学习和确定其好处。
我研究过基于clojure的web框架,但我对它们不感兴趣,因为它们需要手写的javascript (相对于gwt)。所以对我来说,这更多的是关于后端处理。有人能解释一下他们在哪里应用clojure (在实际部署中),它是如何被证明有用的(以及使用clojure的缺点,如果有的话)
进一步分析:延迟计算是Lisp强大功能的一个常见示例。作为一个Lisp,Clojure也提供了同样的优势。因此,一个这样的应用程序的真实示例(在clojure上下文中)将帮助我获得洞察力。
发布于 2011-09-19 05:37:26
您提到过您使用的是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.com和http://www.cis.upenn.edu/~matuszek/cis554-2010/Assignments/clojure-01-exercises.html这两个站点是开始进行Clojure练习的好地方。您可以在这些基础上进行构建。
此外,Clojure Google Group也是一个非常有用的获取信息的地方。
宾夕法尼亚大学的CIS练习,尽管看起来很简单,但给了我很多东西要消化,特别是了解树的骨架,最近骨架问题在Google Clojure小组中得到了很长时间的讨论。
祝好运。cmn
https://stackoverflow.com/questions/7460626
复制相似问题