评论者:steveminer@gmail.com
我今天遇到了这个问题。我同意如果 {{peek}} 能够在 transient 向量上工作将非常方便。其他的函数如 {{nth}} 和 {{count}} 都能在 transient 向量上工作,所以自然期望 {{peek}} 也能。
作为一个权宜之计(而不是建议的解决方案),我使用以下方法:
(defn peek! [tv] (nth tv (dec (count tv))))
诚然,这是一个误名,但它符合常规集合代码的 transient 转换 bang 模式。我还有一个方便的函数 update!
,它调用 assoc!
。我提出这个权宜之计,仅提供给遇到此问题的用户,使他们能够继续工作。