我确信它就在我面前,但我想念它.检查以下内容:
(assoc :position entity
(add (:position entity) (:velocity entity)))
Run Code Online (Sandbox Code Playgroud)
我想做的是这样的事情(使用名为altermap的假函数):
(altermap :position entity #((add % (:velocity entity)))
Run Code Online (Sandbox Code Playgroud)
建议的方法是什么?是否有内置函数做#2?
sep*_*p2k 23
update-in几乎完全像你的altermap函数,除了它需要一个键向量而不是一个键.所以:
(update-in entity [:position] #(add % (:velocity entity)))
Run Code Online (Sandbox Code Playgroud)
据我所知,没有单键变体update-in,但是必须在键周围放置括号不应该太麻烦.