Ich versuche javaslang das Pattern-Matching in einem klassischen Fabrikmuster zu übernehmen:Javaslang - ein Verfahren, bei Pattern läuft Matcher
public void log(String message, Integer level) {
Match(level).of(
Case($(INFO), run(() -> logger.info(message))), //
Case($(DEBUG), run(() -> logger.debug(message))), //
Case($(WARNING), run(() -> logger.warn(message))), //
Case($(ERROR), run(() -> logger.error(message))), //
Case($(), run(() -> logger.info(message))));
}
Doch diese schwappt und alle Methoden laufen (ich vier identische Anrufe an unterschiedlichen Ebenen des Loggers).
dies gibt einen Übersetzungsfehler „nicht Typargument ableiten kann (e) für von (API.Match.Case Erweitert T ,? erstreckt R> []“ und „Kann ein ungültiges Ergebnis nicht zurück“. –
fbielejec
@fbielejec Ich habe eine Anpassung vorgenommen, vielleicht funktioniert es jetzt. –