Tôi đang sử dụng thư viện Sesame để chạy các truy vấn SPARQL qua một cửa hàng ba bộ nhớ trong.Làm thế nào để biến một đối tượng giống như Iterator java thành một chuỗi clojure
Tôi đang sử dụng Clojure để đạt được điều này.
Kết quả truy vấn là đối tượng Iterator giống như [1] tùy chỉnh, do đó, clojure seq không hoạt động trên đó.
Cách thanh lịch nhất để biến một Iterator java tùy chỉnh như đối tượng thành chuỗi thứ tự clojure là gì?
Ý tưởng rõ ràng và ngu ngốc nhất đã đến với tâm trí của tôi là lặp lại nó và xây dựng một vector clojure, nhưng tôi chắc chắn có cách tiếp cận thanh lịch hơn cho vấn đề này.
[1] http://www.openrdf.org/doc/sesame2/api/info/aduna/iteration/Iteration.html
Điều này (reifying Iterable thay vì Iterator) là một cách tiếp cận; khác là để reify Iterator và sau đó bọc nó với ['iterator-seq'] (http://clojuredocs.org/clojure_core/clojure.core/iterator-seq). – amalloy
Tốt, rất tốt để biết! – laczoka