Aufteilen einer HList, die mit Prepend [A, B] verkettet wurde

8

Ich suche im Wesentlichen nach dem Gegenteil der Typklasse Prepend[A, B] .

Wenn ich etwas wie:

habe %Vor%

Ich habe eine HList a vom Typ A und eine HList b vom Typ B , ich kann eine prepend: Prepend[A, B] finden, so dass ich sie mit a ++ b .

Aber wenn ich eine HList ab vom Typ prepend.Out habe, wie kann ich die ursprüngliche A und B extrahieren? Ich kann keine Typklasse finden, die diese Aufgabe erfüllt, und vielleicht gibt es keine. Es scheint so, als würde ich etwas wie trait Cut[A <: HList, B <: HList, c <: HList] brauchen, das bezeugt, dass C durch vor-ausstehende A bis B erstellt wurde, obwohl ich mir nicht sicher bin, wie ich Zeugen erstellen würde.

Sehr grob gefällt:

%Vor%     
Michael Zajac 03.09.2015, 03:33
quelle

1 Antwort

5

Das geht mit Split :

ziemlich einfach %Vor%

Und dann:

%Vor%

Ich habe kürzlich eine "rückgängig machen" -Operation für die Klasse Remove hinzugefügt, und das könnte Sinn machen etwas ähnliches in Prepend einbauen zu lassen.

    
Travis Brown 03.09.2015, 15:37
quelle

Tags und Links