我找不到有关如何解析xml文档和访问元素的任何信息.
我找到了两种解析xml文档的方法
(clojure.zip/xml-zip (clojure.xml/parse file))
Run Code Online (Sandbox Code Playgroud)
和
(parse-seq file)
Run Code Online (Sandbox Code Playgroud)
但我似乎可以找到有关如何处理结果结构的任何信息?
源文件是指如何查询结果的zip-query.clj,但似乎也没有.
Clojure有一些Web框架
还有一些用于处理某些Web开发子任务的库,例如
还有数百个Java库可供使用.某些方面,已经讨论过在这里和他们两个的比较了一下.
我想知道这些框架/组件在成熟度,范围,开发的容易程度,Django/RoR感觉等方面的比较.
在Clojure中发表评论;和之间的区别是什么;;?我看到我的文本编辑器对它们进行了不同的着色,所以我假设在理论上存在一些差异.
我也看到Marginalia以不同的方式对待他们:
; Stripped entirely
;; Appears in text section of marginalia
(defn foobar []
; Appears in code section of marginalia output
;; Again, appears in code section of marginalia output
6)
Run Code Online (Sandbox Code Playgroud) 我在我的Linux Mint机器上安装了Geany,并编写了一些简单的代码.只是一个小小的hello世界,开始使用该语言.
现在我想运行它,看看它输出了什么.
我该如何运行此代码?我没有使用IDE或预先打包的东西,只是简单的文本编辑器Geany.
我应该运行什么命令?
我最近越来越多地使用Lisp和Lispy语言,我发现它们非常强大.
我一直在网上阅读的一件事是,在Lisp,Clojure等中编写的好处是你可以"在它运行时"编辑你的程序.
也许我错过了什么,但有什么意义呢?
当然,它可能会节省几秒钟,但就是这样吗?每当我对我的程序进行更改时,我就会停止它然后再次启动它,这已经好几十年了.
除了节省时间之外,必须有一个理由 - 它是什么?
有人能给我一个很好的案例研究,让我流口水这个功能吗?:)
期待流口水!
我有以下想要迭代的地图:
(def db {:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname "//100.100.100.100:3306/clo"
:username "usr" :password "pwd"})
Run Code Online (Sandbox Code Playgroud)
我尝试过以下操作,但不是打印键和值一次,而是重复打印键和值作为各种组合:
(doseq [k (keys db)
v (vals db)]
(println (str k " " v)))
Run Code Online (Sandbox Code Playgroud)
我想出了一个解决方案,但Brian(见下文)更符合逻辑.
(let [k (keys db) v (vals db)]
(do (println (apply str (interpose " " (interleave k v))))))
Run Code Online (Sandbox Code Playgroud) 我对数据库服务Datomic感兴趣,但我不确定它是否符合我工作的项目的需求.Datomic什么时候是一个不错的选择,什么时候应该避免?
似乎最近对STM(软件事务内存)框架和语言扩展的兴趣日益增加. 特别是Clojure有一个很好的实现,它使用MVCC(多版本并发控制)而不是滚动提交日志.GHC Haskell也有一个非常优雅的STM monad,它也允许交易组成.最后,为了给自己的号角做一点点,我最近为Scala实现了一个静态强制引用限制的STM框架.
所有这些都是有趣的实验,但它们似乎仅限于那个领域(实验).所以我的问题是:你们有没有在现实世界中看到过或使用过STM?如果是这样,为什么?它带来了什么样的好处?性能怎么样?(关于这一点似乎存在大量相互矛盾的信息)你会再次使用STM还是更喜欢使用像actor这样的其他并发抽象?
clojure ×10
command-line ×1
comments ×1
comparison ×1
database ×1
datomic ×1
frameworks ×1
haskell ×1
lisp ×1
marginalia ×1
scala ×1
scheme ×1
stm ×1
version ×1
xml ×1