通常在打印地图时,值不加引号。
(print {:abc "0" :def "1"})
会产生{:abc 0 :def 1}
。我希望输出看起来像{:abc "0" :def "1"}
我试图使用map函数来获取每个键值对,但这不起作用。
这是我的尝试:
(defn print-map [m]
(print "{")
(map #((print (first %) "\"" (second %) "\",")) m)
(print "}\n")
)
地图中没有任何内容被打印
答案 0 :(得分:4)
只需使用pr
/ prn
代替print
/ println
,因为它们会生成可由读者读回的字符串,这意味着字符串会被引用:
user=> (prn {:a "10" :b 20 :c "21"})
{:a "10", :b 20, :c "21"}
nil
答案 1 :(得分:0)
(print (str {:a "82834"}))
;{:a "82834"}
=> nil