どうすればClojureでseqを怠惰に「クローン」できますか。の線に沿った何か
(let [[s1 s2] (clone-seq s)]
...)
s1とs2がsに裏打ちされた独立したシーケンスであるように?
seqの「クローン作成」は私には間違っていると感じます。通常のClojureの使用法では、seqは不変であると予想されるため、次のようなことを行うだけでまったく問題ありません。
(let [s1 s
s2 s]
.....)
seqが変更可能であるか、トラバース時に何らかの副作用がある場合、さまざまな理由で問題が発生する可能性があります。変更可能なSeqは、Clojureのような関数型言語には適していない傾向があります。あらゆる種類の奇妙な問題に遭遇します。たとえば、seqを「クローン」したときに、副作用が2回発生するようにしますか?すべてのコンテンツのディープクローンも必要ですか?