我想在clojure中編寫一個通用的serilization函數。像這樣將輸入映射序列化爲字符串
(def input-map {:Name "Ashwani" :Title "Dev"})
(defn serialize [input-map delimiter]
...rest of the code
)
叫時,以下哪
(serialize input-map ",") Produces
Ashwani,Dev
,我有一些事情的,現在它需要在地圖的特定的密鑰,但做到這一點
(defn serialize [input-map]
(map #(str (% :Name) "," (% :Title) "\n") input-map))
我想避免的是硬編碼名稱和標題。必須有一些方法來使用反射或某些東西來實現這一點,但不幸的是我不知道有足夠的clojure來完成這件事。
我很困惑你如何使用「序列化」。一般來說,序列化意味着能夠從輸出中重建數據,但根本不保存密鑰。此外,如果您希望該函數爲通用函數,但不自行輸出密鑰,則仍然需要爲該函數提供密鑰,以便可以控制它們輸出的順序。 –
@Alex - 從overthink下面的答案做我需要的,我寫的問題清楚地說明了我想達到的目標。如果您遇到「Serliaze」字樣的問題,可以稱其爲「Foo」。 – Ash
我的歉意是,我之前的評論顯然是過分嚴重的,這是我的一個常見失誤。我的意圖是幫助提出一個更清晰的問題,以防你沒有得到你需要的答案。如果你有什麼需要,那麼很好。 –