私はセサミライブラリを使用して、メモリ内トリプルストアでSPARQLクエリを実行しています。Javaイテレータのようなオブジェクトをクロージャシーケンスに変換するにはどうすればいいですか
私はこれを達成するためにClojureを使用しています。
クエリ結果はカスタムのIterator-like [1]オブジェクトです。このため、クロージャーseqはそのまま使用できません。
オブジェクトのようなカスタムJavaイテレータをclojureシーケンスに変換する最もエレガントな方法は何ですか?
私の頭に浮かんだもっとも明白で愚かなアイデアは、それをループしてクロージャーベクトルを構築することですが、この問題に対するより洗練されたアプローチがあると確信しています。実際Iterator
インタフェースを実装するオブジェクトにはイテレータのようなオブジェクトをラップする程度
[1] http://www.openrdf.org/doc/sesame2/api/info/aduna/iteration/Iteration.html
これは、Iteratorの代わりにIterableをreifyするアプローチの1つです。もう一つはIteratorを正し、それを['iterator-seq'](http://clojuredocs.org/clojure_core/clojure.core/iterator-seq)でラップすることです。 – amalloy
ニース、知っておいてよかった! – laczoka