- pattern matching is similar to switch statements in C#, Java
- no fall-through - at least one condition matched
- no breaks
object PatternExa {
def PatternMatchExa(dayOfWeek:String) = {
val MenuOfTheDay = dayOfWeek match {
case "Mon" => "Tanjavur Idly"
case "Tue" => "Manapparai Murukku"
case "Wed" => "Chettinad Sweets"
case "Thu" => "Madurai Idiyappam"
case "Fri" => "Mysoor Bonda"
case "Sat" => "Rava Idli"
case "Sun" => "Salem Thattuvadai"
case _ => "Something Special"
}
MenuOfTheDay
}
def main(args:Array[String]){
println(PatternMatchExa("Mon"))
println(PatternMatchExa("Sunday"))
}
}
Tanjavur Idly
Something Else
object PatternExa {
def PatternMatchExa(dayOfWeek:String) = {
val MenuOfTheDay = dayOfWeek match {
case "Mon" | "Wed" | "Fri" => "Dindigual Chicken Biryani"
case "Tue" | "Thu" | "Sat" => "Chettinadu Chicken Biryani"
case "Sun" => "Hyderabadi Chicken Biryani"
case _ => "Something Special"
}
MenuOfTheDay
}
def main(args:Array[String]){
println(PatternMatchExa("Mon"))
println(PatternMatchExa("Sunday"))
}
}
Result:
Dindigual Chicken Biryani
Something Special