que estoy tratando de conseguir una manija en el nuevo defprotocol
, reify
, etc.org.w3c.dom.NodeList a un Clojure ISEQ
Tengo un org.w3c.dom.NodeList
regresaron de una llamada XPath y me gustaría "convertirlo" a un ISeq.
En Scala, he implementado un método de conversión implícita:
implicit def nodeList2Traversable(nodeList: NodeList): Traversable[Node] = {
new Traversable[Node] {
def foreach[A](process: (Node) => A) {
for (index <- 0 until nodeList.getLength) {
process(nodeList.item(index))
}
}
}
}
NodeList
incluye métodos int getLength()
y Node item(int index)
.
¿Cómo hago el equivalente en Clojure? Espero que necesite usar defprotocol
. ¿Qué funciones necesito definir para crear un seq
?
Si hago una conversión simple, ingenua, a una lista usando loop
y recur
, terminaré con una estructura no perezosa.
Nuestros mensajes cruzados, de lo contrario no habría molestado. Tu uso de 'para' se ve muy bien aquí. – Chouser