結果のシーケンスを表す Java クラスを使用しています (Clojure ベクトルのようなものです)。
このクラスを典型的な Clojure シーケンス関数で使用したい (つまり、シーケンスの抽象化をサポートしているかのようにクラスを動作させたい) のですが、クラスを変更できないため、実装することはできませんclojure.lang.Seqable
。また、厄介なことに、このクラスはjava.util.Collection
orを実装していませんjava.lang.Iterable
。
いくつかのオプションが表示されます:
iterator-seq
オブジェクトの (既存の) イテレータで使用します。java.util.Collection
/を実装する別のクラスでオブジェクトをラップするclojure.lang.Sequable
- オブジェクトを照会して Clojure ベクターまたはシーケンスを構築する関数を作成する
他のオプションはありますか?最善のアプローチは何ですか?