如何使用 ClojureScript 将数字转换为相同数量的空格,以便 println 函数可以使用它?
How to transform, with ClojureScript, a number into the same number of spaces such that it can be used by the println function?
考虑以下假设函数:
(map #(println (:level %) (:data %)) (category-visitor))
哪里
(category-visitor)
表示(嵌套)地图的向量,并且
(:level % )
表示整数。
我想用等于
的空格数缩进打印行
(:level %)
使地图之间的层次关系可视化。
问题是如何将数字转换为相同数量的空格,以便 println 函数可以使用它。
您可以使用repeat
函数生成任意数量的空格作为序列,然后将它们转换为字符串:
(defn indent-str [level]
(apply str (repeat level " ")))
(println (indent-str 5) "x")
;;=> x
考虑以下假设函数:
(map #(println (:level %) (:data %)) (category-visitor))
哪里
(category-visitor)
表示(嵌套)地图的向量,并且
(:level % )
表示整数。
我想用等于
的空格数缩进打印行(:level %)
使地图之间的层次关系可视化。
问题是如何将数字转换为相同数量的空格,以便 println 函数可以使用它。
您可以使用repeat
函数生成任意数量的空格作为序列,然后将它们转换为字符串:
(defn indent-str [level]
(apply str (repeat level " ")))
(println (indent-str 5) "x")
;;=> x