欢迎!请参阅关于页面获取更多关于如何操作的信息。
即使原始向量有元数据,由subvec返回的向量也不会有元数据。
subvec
示例
(meta (subvec (with-meta [0 1 2 3 4 5] {:foo 42}) 0)) ;; nil
预期值
{:foo 42}
在线演示 在这里。
经过一番思考,我认为这是预期行为。通常在集合的“更新”操作(关联、撤销、联合、解散)时保留元数据。在这种情况下,subvec从概念上创建了一个新的集合,它是旧集合的一个子集(select-keys可能是这个类别中的另一个)。因为它是一个新集合,所以我们不会期望它从原始集合复制元数据。