Clojure:
YAML を操作する

方法:

ClojureはYAMLの組み込みサポートを含んでいませんが、clj-yamlのようなサードパーティライブラリを利用してYAMLデータの解析や生成を行うことができます。まず、ライブラリをプロジェクトの依存関係に追加します:

;; これをプロジェクトのproject.cljの依存関係に追加
[clj-yaml "0.7.0"]

以下は、clj-yamlを使用してYAMLを解析し、ClojureのマップをYAMLに変換する方法です。

YAMLの解析:

(require '[clj-yaml.core :as yaml])

;; YAML文字列の解析
(let [yaml-str "name: John Doe\nage: 30\nlanguages:\n  - Clojure\n  - Python"]
  (yaml/parse-string yaml-str))
;; 出力:
;; => {"name" "John Doe", "age" 30, "languages" ["Clojure" "Python"]}

ClojureからYAMLへの生成:

(require '[clj-yaml.core :as yaml])

;; ClojureのマップをYAML文字列に変換
(let [data-map {:name "Jane Doe" :age 28 :languages ["Java" "Ruby"]}]
  (yaml/generate-string data-map))
;; 出力:
; "age: 28\nlanguages:\n- Java\n- Ruby\nname: Jane Doe\n"

これらのclj-yamlでの簡単な操作は、Clojureアプリケーションに統合され、設定ファイルの処理やYAMLを使用する他のサービスやコンポーネントとのデータ交換を容易にすることができます。