Frage

Ich versuche einen Pfeil zu schreiben, der nummerierte Elemente aus einem XML -Analyse mit HXT erzeugt. Es scheint, als sollte es mit einem staatlichen Pfeil wie dem staatlichen Monad erfolgen, aber alle Beispiele, die ich im HXT -Paket finden kann und die Methoden zum Zugriff auf den Zustand (Xmlstate) Verwenden Sie das iOstatearRow und ich würde es lieber rein halten, um den Testprozess mit dem STATEARROW zu vereinfachen. Existieren solche Varianten? Wenn nicht, wie würde ich einen Zustand zu einem HXT -Analyse hinzufügen, ohne den Pfeil in IO ausführen zu müssen?

War es hilfreich?

Lösung

Sie können verwenden Pfeil Beispiel von SLA dafür. Ein Beispiel: Nehmen wir an, wir müssen alle Textelemente der zweiten Ebene verkettet.

Prelude Text.XML.HXT.Core> fst $ runSLA (xread >>> getChildren >>> getChildren >>> isText >>> getText >>> changeState (++)) "" "<xml><item>a</item><item>b</item></xml>" 
"ab"

Beachten Sie, dass Sie nicht verwenden können IO im Inneren SLA Da hat in nicht ArrowIO Beispiel.

Hoffe, es ist das, was du brauchst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top