【发布时间】:2014-12-14 13:07:15
【问题描述】:
应用于向量的 Clojure assoc 似乎有不一致的行为
当向量中存在索引时,关联替换值
(assoc [1 2 3 4 5] 3 42) => [1 2 3 42 5]
当索引在最后一个旁边时,向量增长(conj 等效)
(assoc [1 2 3 4 5] 5 42) => [1 2 3 4 5 42])
否则IndexOutOfBoundsExcpetion 被抛出
虽然它在某些情况下很有用,例如 reduce assoc,但这可能会导致程序中出现细微的错误
这是预期的行为还是可能是矢量关联中的错误?
【问题讨论】:
-
真的,很遗憾。
标签: clojure