Clojure - Thư viện

Một điều làm cho thư viện Clojure trở nên mạnh mẽ là số lượng thư viện có sẵn cho khuôn khổ Clojure. Chúng tôi đã thấy rất nhiều thư viện được sử dụng trong các ví dụ trước đó của chúng tôi để kiểm tra web, phát triển web, phát triển các ứng dụng dựa trên swing, thư viện jdbc để kết nối với cơ sở dữ liệu MySQL. Sau đây chỉ là một vài ví dụ về một vài thư viện khác.

data.xml

Thư viện này cho phép Clojure làm việc với dữ liệu XML. Phiên bản thư viện được sử dụng là org.clojure / data.xml "0.0.8". Data.xml hỗ trợ phân tích cú pháp và tạo ra XML. Các hàm phân tích cú pháp sẽ đọc XML từ Reader hoặc InputStream.

Thí dụ

Sau đây là một ví dụ về xử lý dữ liệu từ một chuỗi sang 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

Thư viện này cho phép Clojure hoạt động với dữ liệu JSON. Phiên bản thư viện được sử dụng là org.clojure / data.json "0.2.6".

Thí dụ

Sau đây là một ví dụ về việc sử dụng thư viện này.

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

Đầu ra

Chương trình trên tạo ra kết quả sau.

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

data.csv

Thư viện này cho phép Clojure làm việc với ‘csv’dữ liệu. Phiên bản thư viện sẽ được sử dụng là org.clojure / data.csv "0.1.3".

Thí dụ

Sau đây là một ví dụ về việc sử dụng thư viện này.

(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)

Trong đoạn mã trên, hàm 'csv' trước tiên sẽ đọc một tệp có tên in-file.csvvà đưa tất cả dữ liệu vào biến trong tệp. Tiếp theo, chúng tôi đang sử dụng hàm write-csv để ghi tất cả dữ liệu vào một tệp có tênout-file.csv.