我想编写一个函数,该函数采用向量 [& x] 并将测试应用于元素对。输出测试认为相同的元素向量和 nil 元素向量。
我的第一个想法是获取向量并将它们展平。
(defn soup [& x]
(vec (flatten x))
然后应用诸如相同的测试?否定?或类似的规定。正是在模式匹配的时候,我一直在尝试组装输出。
例如)输入 1:[:a :b :c :a :b :c]
输出 1: [[:a :a] [:b :b] [:c :c]]
输入 2:[[:a :b :c] [:a :b :c]]
输出 2:[[[:a :b :c] [:a :b :c]]]
如果输入 2 首先被展平,它会返回输出 1。