In Prolog-Prädikate, schreibe ich oft wiederholende bedingte Anweisungen wie diese, aber ich wünschte, sie prägnanter geschrieben werden könnte:Schalter Aussagen in Prolog
output(Lang, Type, Output) :-
(Lang = javascript ->
Output = ["function", Type];
Lang = ruby ->
Output = ["def", Type];
Lang = java ->
Output = [Type]).
Wäre es möglich, diese Reihe von bedingten Anweisungen ersetzen eine prägnantere switch-statement?
Die Klammern, die Sie über die Bedingungen geschrieben haben, sind redundant. Sie sollten stattdessen ein einzelnes Klammerpaar um das gesamte (a-> b; c-> d; e) Konstrukt platzieren. Dies ist die beste Vorgehensweise, um Überraschungen zu vermeiden, wenn Sie das Konditional mit anderen Zielen verbinden möchten. – jschimpf
@jschimpf Ich habe das Problem behoben, so scheint es nun prägnanter. –