switch and match - Squeng/Polyglot GitHub Wiki
Scala has a switch expression.
def tShirt(size: String) =
val toolTip = size match
case "XS" | "S" => "(extra) small"
case "M" => "medium"
case "L" | "XL" => "(extra) large"
case _ => "tbd"
s"$size is $toolTip"
Java has a switch statement as well as a switch expression.
String tShirtStatement(String size) {
String toolTip = null;
switch(size) {
case "XS": case "S":
toolTip = "(extra) small";
break;
case "M":
toolTip = "medium";
break;
case "L": case "XL":
toolTip = "(extra) large";
break;
default:
toolTip = "tbd";
break;
}
return size + " is " + toolTip;
}
String tShirtExpression(String size) {
var toolTip = switch(size) {
case "XS", "S" -> "(extra) small";
case "M" -> "medium";
case "L", "XL" -> "(extra) large";
default -> "tbd";
};
return size + " is " + toolTip;
}
Python has a match statement.
def tShirt(size):
toolTip = None
match size:
case 'XS' | 'S':
toolTip = '(extra) small'
case 'M':
toolTip = 'medium'
case 'L' | 'XL':
toolTip = '(extra) large'
case _:
toolTip = 'tbd'
return f"{size} is {toolTip}"