寻找最简单或最惯用的方式来处理可能是简单关键字或关键字向量的输入。也许是一个将普通关键字转换为列表的函数。尽量避免 if 子句,并尽量避免过多的函数链接。
(defn togethr [v1]
(into [] (flatten (into [:a] (vector v1))))
(togethr :b)
; => [:a :b]
(togethr [:b :c])
; => [:a :b :c]
在这里,我链接了 4 个函数调用,我怀疑有一种更简单(更惯用)的方法。
最佳答案
Arthur 的回答很好,但回到更广泛的上下文,拥有一个可能是关键字的参数,或者一组关键字通常是一种反模式。最好更改调用代码以一致地传递关键字向量。 Stuart Sierra 甚至为此创造了一个术语:‘heisenparameter’ .
关于vector - 将向量连接到普通关键字或关键字向量的惯用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32727708/