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.