假设我有一个名为 的函数process,我只想将其应用于序列元素的子集,my-sequence然后返回原始序列,只处理元素的子集。
如果 I (map process (filter my-pred my-sequence)),我将只剩下处理过的元素。
相反,我可以(map #(if (pred %) (process %) %) my-sequence)。
有没有更惯用/简洁的方法来做到这一点?
假设我有一个名为 的函数process,我只想将其应用于序列元素的子集,my-sequence然后返回原始序列,只处理元素的子集。
如果 I (map process (filter my-pred my-sequence)),我将只剩下处理过的元素。
相反,我可以(map #(if (pred %) (process %) %) my-sequence)。
有没有更惯用/简洁的方法来做到这一点?