这是普通 for 函数的输出
(for [x ['a 'b 'c]
y [1 2 3]]
[x y])
;;=> ([a 1] [a 2] [a 3] [b 1] [b 2] [b 3] [c 1] [c 2] [c 3])
您会如何将其转换为接受任意数量参数的可变参数函数?
示例
(defn variadic-for
[& args]
(for [... ] [...]))
(variadic-for [['a 'b 'c] [1 2 3]])
;;=> ([a 1] [a 2] [a 3] [b 1] [b 2] [b 3] [c 1] [c 2] [c 3])