目前,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]
Closure 有类似考虑吗?可能看起来像这样
user=> (let [[a & b c] (range 5)] [a b c])
[0 (1 2 3) 4]
我觉得这可以和目前核心函数的拆解方式一样实现,但我可能不了解一些细微之处。