目前,Clojure支持包含&rest参数的解构模式
user=> (let [[a b & c] (range 5)] [a b c])
[0 1 (2 3 4)]
Python同样支持,但还可以将所谓的通配符放在前端和中端位置(《PEP描述》)
>>> a, *b, c = range(5)
>>> a
0
>>> c
4
>>> b
[1, 2, 3]
为Clojure考虑过类似的功能吗?可能是这样的
user=> (let [[a & b c] (range 5)] [a b c])
[0 (1 2 3) 4]
我觉得这可能可以通过当前核心函数的解构来实现,但可能是我不知道一些细微之处。