Dynamisch erweiterbaren Datensatz in formlos 2.0 erstellen

8

Ich muss einen erweiterbaren Datensatz mit einem HList von Schlüsseln und einer Map von Werten erstellen, hier ist ein MWE von dem, was ich erreichen möchte (Sie können dies in jeder REPL mit formlosem 2.0, in um das Problem zu reproduzieren)

%Vor%

Wenn ich versuche, den Datensatz manuell zu definieren, funktioniert alles wie erwartet

%Vor%

Der Unterschied besteht eindeutig darin, dass in einem Fall der KeyTag den Typ

hat %Vor%

und im (nicht arbeitenden) anderen

%Vor%

Ich habe das Gefühl, dass der String k nicht statisch bekannt ist, aber ich habe keine Ahnung, wie ich das beheben kann. Gibt es im Allgemeinen eine Möglichkeit, einen erweiterbaren Datensatz dynamisch aus einer Liste von Schlüsseln zu generieren?

Ich fürchte, die Antwort ist, ein Makro zu verwenden, aber ich wäre froh, wenn es eine andere Lösung gäbe.

    
Gabriele Petronella 13.08.2014, 10:51
quelle

1 Antwort

7

Das ist nicht schlecht, wenn Sie Ihre Foo -Definition etwas ändern können, damit sie den Singletontyp des Spaltenschlüssels verfolgen kann (beachten Sie, dass ich den nicht verwendeten T type-Parameter entfernt habe):

%Vor%

Und dann:

%Vor%

Beachten Sie, dass ich Ihren String-Schlüssel ( "column1" ) in ein Symbol geändert habe, da wir dies in den Datensatz eingegeben haben.

    
Travis Brown 13.08.2014, 13:05
quelle

Tags und Links