Clojure - Perpustakaan
Satu hal yang membuat perpustakaan Clojure begitu kuat adalah jumlah perpustakaan yang tersedia untuk kerangka kerja Clojure. Kami telah melihat begitu banyak pustaka yang digunakan dalam contoh sebelumnya untuk pengujian web, pengembangan web, mengembangkan aplikasi berbasis ayunan, pustaka jdbc untuk menghubungkan ke database MySQL. Berikut ini hanyalah beberapa contoh dari beberapa perpustakaan lainnya.
data.xml
Pustaka ini memungkinkan Clojure bekerja dengan data XML. Versi pustaka yang akan digunakan adalah org.clojure / data.xml "0.0.8". Data.xml mendukung parsing dan emitting XML. Fungsi parsing akan membaca XML dari Reader atau InputStream.
Contoh
Berikut contoh pengolahan data dari string menjadi 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
Pustaka ini memungkinkan Clojure untuk bekerja dengan data JSON. Versi pustaka yang akan digunakan adalah org.clojure / data.json "0.2.6".
Contoh
Berikut adalah contoh penggunaan library ini.
(ns clojure.examples.example
(:require [clojure.data.json :as json])
(:gen-class))
(defn Example []
(println (json/write-str {:a 1 :b 2})))
(Example)
Keluaran
Program di atas menghasilkan keluaran sebagai berikut.
{\"a\":1,\"b\":2}
data.csv
Pustaka ini memungkinkan Clojure untuk bekerja dengannya ‘csv’data. Versi pustaka yang akan digunakan adalah org.clojure / data.csv "0.1.3".
Contoh
Berikut adalah contoh penggunaan library ini.
(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)
Pada kode di atas, fungsi 'csv' pertama-tama akan membaca file bernama in-file.csvdan letakkan semua data di variabel dalam file. Selanjutnya, kami menggunakan fungsi tulis-csv untuk menulis semua data ke file bernamaout-file.csv.