Scala Ente Eingabe Mustererkennung

8

Ich habe eine Fallklasse wie die folgende:

%Vor%

Ich möchte übereinstimmen:

%Vor%

gibt es eine Möglichkeit, diese drei Fälle in einen einzigen Fall zusammenzufassen (ohne eine übergeordnete Elternklasse zu A, B, C hinzuzufügen)? Ich kann die Definition von A, B, C oder Exp nicht ändern. Eine Art von:

%Vor%

was offensichtlich nicht funktioniert und auch nicht:

%Vor%     
Lie Ryan 03.10.2012, 16:36
quelle

1 Antwort

11

Während die folgende "Lösung" wirklich nur eine andere Art ist, zu schreiben, was Sie bereits haben, könnte es hilfreich sein, wenn Sie dieselbe match an mehr als einer Stelle verwenden müssen und Code Duplikation vermeiden wollen.

Die folgende benutzerdefinierte Anwendung wird nicht angewendet:

%Vor% Mit

können Sie

schreiben %Vor%

Auf diese Weise müssen Sie die ursprünglichen Klassen überhaupt nicht ändern. Ich kenne keinen besseren Weg, dies zu tun, ohne die A / B / C-Klassen zu ändern, aber ich bin gespannt auf @ Stackoverflow;)

    
fresskoma 03.10.2012, 16:53
quelle