`

clojure的文件IO处理的持续优化

阅读更多
、需求,把文本文件r.txt的内容处理(每行前边加hello 后边加!),然后写入w.txt
2、实现1:
(defn read-file []
    (with-open [rdr (clojure.java.io/reader "f:/r.txt")]
        (doall
            (map #(str "hello" % "!") (line-seq rdr)))))
(defn write-file []
      (with-open [w (clojure.java.io/writer "f:/w.txt" :append true)]
        (binding [*out* w]
            (doseq [line (read-file )]
                (println line)))))
(write-file)
实现2:

(defn read-file []
    (with-open [rdr (clojure.java.io/reader "f:/r.txt")]
        (apply str
            (map #(str "hello" % "!") (line-seq rdr)))))
(defn write-file []
      (with-open [w (clojure.java.io/writer "f:/w.txt" :append true)]
          (.write w (read-file))))
(write-file)
实现3:

(defn read-file []
    (with-open [rdr (clojure.java.io/reader "f:/r.txt")]
        (apply str
            (map #(str "hello" %  "!") (line-seq rdr)))))
(spit "f:/w.txt"  read-file :append true)

尤以后种方式最为精简。clojure魔力大大的!
分享到:
评论

相关推荐

    fs, 面向Clojure的文件系统实用程序.zip

    fs, 面向Clojure的文件系统实用程序 - 用于Clojure的文件系统实用程序 API文档这个库定义了一些用于在Clojure中处理文件系统的工具。 通常,它希望填补 clojure.java.io 留下的空白并添加( 美化) 所提供的java.io....

    Clojure脚本:数据处理的函数式利器

    本文将探讨Clojure脚本在数据处理中的应用,包括数据清洗、统计分析、机器学习以及数据可视化等方面,并通过代码示例展示其实际应用。 Clojure运行在Java虚拟机上,因此它能够利用Java的丰富生态系统。Clojure的语法...

    Python-mortimer一个跟踪Clojure文件中每个函数调用的工具

    mortimer一个跟踪Clojure文件中每个函数调用的工具

    Programming Clojure 英文电子版

    通过JIT编译技术,Clojure代码可以被优化为接近原生Java代码的执行效率。 #### 三、《Programming Clojure》书籍内容概览 本书详细介绍了如何使用Clojure编写程序,并涵盖了从基础语法到高级主题的各个方面。书中...

    Clojure Data Analysis Cookbook

    - **性能优化**:介绍如何编写高效的 Clojure 代码,包括内存管理和垃圾回收机制的理解。 - **并发编程**:深入探讨 Clojure 的并发模型,如原子、引用、代理和通道等。 - **社区资源和工具**:列出了一系列 ...

    Clojure编程乐趣]+clojure_programming.pdf

    在“Clojure编程乐趣”这本书中,你将学习到如何使用Clojure进行函数式编程,如何利用Clojure的强大工具处理数据,以及如何构建并发和分布式系统。此外,书中可能还会介绍Clojure社区的一些最佳实践和常用库,例如...

    clojure1.3.0及资料

    这个文件可能是Storm的Clojure实现或相关工具,对于进行大规模实时数据处理的开发者来说很有价值。 综上所述,这个压缩包包含了一系列资源,可以帮助开发者深入理解Clojure语言,尤其是1.3.0版本及其后续演进。书籍...

    Practical Clojure.pdf

    根据提供的文件内容,我们可以提取出以下关于Clojure语言的知识点: Clojure是一种编程语言,它给作者留下了深刻的印象,并且被视为一种多用途的、全面的编程语言。作者在开始学习Clojure时,体会到了编程的乐趣,...

    clojure电子书

    Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,具有强大的并发处理能力和丰富的库支持。 首先,《Clojure Programming》是一本全面介绍Clojure语言的指南,由Chas Emerick、Crispin Cowan...

    Lacinia纯Clojure实现的GraphQL

    Clojure是一种动态类型的函数式编程语言,以其简洁的语法和强大的数据处理能力而闻名。Lacinia将Clojure的这些优点带入了GraphQL领域,允许开发者用熟悉的Clojure语法定义GraphQL类型、字段和解析器。这种结合使得...

    [Clojure] Clojure 数据分析 经典实例 (英文版)

    [Packt Publishing] Clojure 数据分析 经典实例 (英文版) [Packt Publishing] Clojure Data Analysis Cookbook (E-Book) ☆ 出版信息:☆ [作者信息] Eric Rochester [出版机构] Packt Publishing [出版日期] ...

    programming-clojure-3rd

    最后,书中可能会包含一些高级话题,如Clojure的测试工具、持续集成、Clojure的框架和库,以及如何构建实际的应用程序。读者将通过实例学习如何运用Clojure解决实际问题,提升自己的编程技巧。 总的来说,...

    蚂蚁群优化算法演示:使用 Clojure 创建_Clojure _代码_下载

    2. **测试文件**: 使用Clojure的`clojure.test`库进行单元测试,确保算法的正确性。 3. **配置文件**: 可能包括算法参数(如蚂蚁数量、信息素蒸发率、启发式信息权重等)的设置。 4. **示例问题**: 提供一些实际的...

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    - **Clojure与大数据**: Clojure与Apache Storm等大数据框架结合得非常好,可以用于实时数据分析和处理。 - **Web应用开发**: 使用Clojure构建Web应用程序,如利用Compojure框架或Ring库等。 #### 八、总结 - **...

    little crawler for clojure

    这意味着项目开发者可能关注于如何利用Clojure的独特语法和功能来优化爬虫的性能和可读性。 【压缩包子文件的文件名称列表】"little-crawler" 提示我们压缩包内的主要文件可能是一个名为“little-crawler”的源代码...

    clojure1.4包

    要开始使用,你需要解压文件,然后在终端或命令行中启动 Clojure 的 REPL,通过 `require` 命令引入所需库,开始编写和测试代码。 总的来说,Clojure 1.4 和 http-kit 结合,为开发者提供了一套强大的工具,用于...

    clojure-csv, 从Clojure读取和写入CSV文件的库.zip

    clojure-csv, 从Clojure读取和写入CSV文件的库 csvclojure CSV是一个用于读取和写入CSV文件的小型库。 主要功能:接受两个常见行终止符。CSV字段内的引号和转义符是正确的句柄。解析时支持在CSV字段中嵌入未转义的行...

    clojure-pure-io:Clojure 的纯函数式 IO 实验

    在 Clojure 中实现 IO monad 的实验。 为什么 Haskell 应该拥有所有的乐趣(功能纯度)? 要深入解释这样做的动机和过程,请查看 为什么使用这个? 您可能不想将其用于任何赚钱目的,但写起来很有趣,并且希望对...

Global site tag (gtag.js) - Google Analytics