Clojure 類庫

2018-12-29 18:58 更新

使Clojure庫如此強大的一件事是可用于Clojure框架的庫的數(shù)量。 我們已經(jīng)看到在我們早期的例子中使用的許多庫用于web測試,web開發(fā),開發(fā)基于swing的應用程序,用于連接到MySQL數(shù)據(jù)庫的jdbc庫。 以下只是幾個更多圖書館的例子。

data.xml中

這個庫允許Clojure使用XML數(shù)據(jù)。 要使用的庫版本是org.clojure / data.xml“0.0.8”。 data.xml支持解析和發(fā)出XML。 解析函數(shù)將從Reader或InputStream讀取XML。

下面是 data.xml 的一個例子。

(ns clojure.examples.example
   (use 'clojure.data.xml)
   (:gen-class))
(defn Example []
   (let [input-xml (java.io.StringReader. "<?xml version = "1.0"
      encoding = "UTF-8"?><example><clo><Tutorial>The Tutorial
      value</Tutorial></clo></example>")]
      (parse input-xml)))

#clojure.data.xml.Element{
   :tag :example, :attrs {}, :content (#clojure.data.xml.Element {
      :tag :clo, :attrs {}, :content (#clojure.data.xml.Element {
         :tag :Tutorial, :attrs {},:content ("The Tutorial value")})})}
(Example)

data.json

這個庫允許Clojure使用JSON數(shù)據(jù)。 要使用的庫版本是org.clojure / data.json“0.2.6”。

下面是 data.json 的一個例子。

(ns clojure.examples.example
   (:require [clojure.data.json :as json])
   (:gen-class))
(defn Example []
   (println (json/write-str {:a 1 :b 2})))
(Example)

輸出

上面的示例輸出以下結(jié)果:

{"a":1,"b":2}

data.csv

這個庫允許Clojure使用'csv'數(shù)據(jù)。 要使用的庫版本是org.clojure / data.csv“0.1.3”。

下面是 data.csv 的一個例子。

(ns clojure.examples.example
   (require '[clojure.data.csv :as csv]
      '[clojure.java.io :as io])
   (:gen-class))
(defn Example []
   (with-open [in-file (io/reader "in-file.csv")]
      (doall
      (csv/read-csv in-file)))
   (with-open [out-file (io/writer "out-file.csv")]
   (csv/write-csv out-file
      [[":A" "a"]
      [":B" "b"]])))
(Example)

在上面的代碼中,'csv'函數(shù)將首先讀取一個名為in-file.csv的文件,并將所有數(shù)據(jù)放入變量in-file。 接下來,我們使用write-csv函數(shù)將所有數(shù)據(jù)寫入一個名為out-file.csv的文件。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號