首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用clojure

应用clojure
EN

Stack Overflow用户
提问于 2011-09-18 17:30:57
回答 1查看 805关注 0票数 6

我关注clojure已经有一段时间了,它的一些特性非常令人兴奋(持久化数据结构、函数式方法、不可变状态)。然而,由于我还在学习,我想了解如何在真实场景中应用,证明其好处,然后演变和应用于更复杂的问题。也就是说,使用clojure可以轻松获得什么(例如,在电子商务设置中),可以用来学习和确定其好处。

我研究过基于clojure的web框架,但我对它们不感兴趣,因为它们需要手写的javascript (相对于gwt)。所以对我来说,这更多的是关于后端处理。有人能解释一下他们在哪里应用clojure (在实际部署中),它是如何被证明有用的(以及使用clojure的缺点,如果有的话)

进一步分析:延迟计算是Lisp强大功能的一个常见示例。作为一个Lisp,Clojure也提供了同样的优势。因此,一个这样的应用程序的真实示例(在clojure上下文中)将帮助我获得洞察力。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-19 05:37:26

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

代码语言:javascript
复制
(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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7460626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档