保证某些未知值在序列中的惯用方法是什么,该值可能已经或不可能已经在序列中?(into [] val)
如果 val 尚未在 seq 中,则失败(conj [] val)
始终有效,但可能会嵌套,即[[val...]]
(哦,并且未嵌套,如果已经在 seq 中)* 是简单的(flatten (conj
吗?
这种事情——处理一个可能是也可能不是序列的值——只是不习惯。请参阅https://stuartsierra.com/2015/06/10/clojure-donts-heisenparameter,他特别指出这一点。
重构你的代码,val
要么始终是一个序列,要么永远不是一个序列。你应该“永远”没有可以产生两者的代码。