我厭倦了編寫一個批次代碼來打印列表結構,基於列表的結構。例如,對於Clojure:將任意列表轉換爲字符串表示,希望懶惰?
'(1 2 3)
,我會
(apply str '(1 2 3))
但
'((1 2 3) (4 5))
,我應該
(map #(apply str %) '((1 2 3) (4 5)))
等根據列表的嵌套結構。
我不知道什麼是一個優雅的函數來處理任意列表結構的字符串?
下面是一個草圖,希望能夠學到更好的解決方案。
(defun to-string
"convert argument into string."
([x & xs] (str (to-string x) (to-string xs) "\n"))
([x] (str x))
)
在此先感謝!
請注意,如果你引用另一個報價中,第二個'''將擴展爲'quote'並且不被評估。你可能只需要在整個表達式中使用一個''''。 – Alex
@Alex,謝謝指出使用'inside'的錯誤。 –