Clojure - Bibliothèques
Une chose qui rend la bibliothèque Clojure si puissante est le nombre de bibliothèques disponibles pour le framework Clojure. Nous avons déjà vu tant de bibliothèques utilisées dans nos exemples précédents pour les tests Web, le développement Web, le développement d'applications basées sur le swing, la bibliothèque jdbc pour la connexion aux bases de données MySQL. Voici quelques exemples de quelques bibliothèques supplémentaires.
data.xml
Cette bibliothèque permet à Clojure de travailler avec des données XML. La version de la bibliothèque à utiliser est org.clojure / data.xml "0.0.8". Le data.xml prend en charge l'analyse et l'émission de XML. Les fonctions d'analyse liront le XML à partir d'un lecteur ou d'un InputStream.
Exemple
Voici un exemple du traitement des données d'une chaîne vers 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
Cette bibliothèque permet à Clojure de travailler avec des données JSON. La version de la bibliothèque à utiliser est org.clojure / data.json "0.2.6".
Exemple
Voici un exemple d'utilisation de cette bibliothèque.
(ns clojure.examples.example
(:require [clojure.data.json :as json])
(:gen-class))
(defn Example []
(println (json/write-str {:a 1 :b 2})))
(Example)
Production
Le programme ci-dessus produit la sortie suivante.
{\"a\":1,\"b\":2}
data.csv
Cette bibliothèque permet à Clojure de travailler avec ‘csv’Les données. La version de la bibliothèque à utiliser est org.clojure / data.csv "0.1.3".
Exemple
Voici un exemple d'utilisation de cette bibliothèque.
(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)
Dans le code ci-dessus, la fonction 'csv' lira d'abord un fichier appelé in-file.csvet mettez toutes les données dans la variable dans le fichier. Ensuite, nous utilisons la fonction write-csv pour écrire toutes les données dans un fichier appeléout-file.csv.