私が理解している限り、あなたは一連の文字列を持っています。Clojureは、シーケンスに対して非常に特殊なtoString実装を提供します。これは、ここで確認できます。
replを入力する(str d1)
か、単に入力d1
してEnterキーを押すと、入力した内容が多かれ少なかれ表示されます。文字列のシーケンス(文字列は二重引用符で囲まれた文字のシーケンスとして出力されます)。
ここで、すべての文字列を連結する場合は、次のように実行できます。
(apply str d1)
カンマで区切って印刷したい場合は、次のようにすることができます。
(apply str (interpose "," d1))
CSV形式で出力するには、clojure-csvを使用することをお勧めします。
最後に、単にリストを印刷したいが、文字列を二重引用符で囲まない場合は、次のようにすることができます。
(print d1)
お役に立てれば。
EDIT1(質問の変更による更新):
これは、次の方法で簡単に実現できます。
(apply str (interpose "|" d1))
結果全体の二重引用符に注意しないでください。結果が表示されない場合は、結果全体を二重引用符で囲んでprint
くださいspit
。これは、Clojureが文字列を読みやすく印刷する方法です。
あるいは、一度に出力したいような複数のシーケンスがある場合でも、clojure-csvを使用できますが、区切り文字は異なります。
(ns csv-test.core
(:require [clojure-csv.core :as csv]))
(def d1 (list "9990999" "43" "ROADWAY" "MORRISON, VAN X DMD" "43 ROADWAY" "SOMETHINGTON" "XA" "00000" "501" "18050" "2500" "1180" "14370" "0"))
(print (csv/write-csv [d1] :delimiter "|"))
;;prints:
;;9990999|43|ROADWAY|MORRISON, VAN X DMD|43 ROADWAY|SOMETHINGTON|XA|00000|501|18050|2500|1180|14370|0