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% 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% Mitkö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;)
Tags und Links scala pattern-matching case-class