评论者:steveminer@gmail.com
我今天遇到了这个问题。我同意如果 {{peek}} 能在 transient 向量上工作会方便很多。其他函数如 {{nth}} 和 {{count}} 都能在 transient 向量上工作,所以想使用 {{peek}} 是很自然的。
作为一个应对方案(而不是建议的修复),我使用以下代码
(defn peek! [tv] (nth tv (dec (count tv))))
诚然,这可能会产生误解,但这符合常规集合代码中 transient 转换的叹号模式。我还有一个方便的函数 update!
,它调用 assoc!
。我提供这个方案只是为了那些遇到这个问题并想尽快返回工作的用户。