// Flat Map: Flatten NEsted Collections
let month = ["janaury", "february", "march", "april", "may", "june", "july", "august", "septemeber", "october", "november", "december"]
func semester(for month: String) -> String {
switch month {
case "august", "septemeber", "october", "november", "december":
return "autumn"
case "january", "february", "march", "april", "may":
return "spring"
default:
return "Not in the school year"
}
}
let typeOfSemester = semester(for: "january")
print("Semester Type: \(typeOfSemester)" )
Output
Semester Type: spring
// Declarign enumeration
enum Month {
case january, febuary, march, april, may, june, july, august, september, october, november, december
}
func semester(for month: Month) -> String {
switch month {
case .august, .september, .october, .november, .december:
return "Autumn"
case .january, .febuary, .march, .april, .may:
return "Spring"
default:
return "Not in the school year"
}
}
var month = Month.april
print(semester(for: month))
Output
Spring
// Flat Map: Flatten NEsted Collections
// RAW VALUE
enum Month: Int {
case january, february, march, april, may, june, july, august, september, october, november, december
}
func semester(for month: Month) -> String {
switch month {
case .august, .september, .october, .november, .december:
return "autumn"
case .january, .february, .march, .april, .may:
return "spring"
default:
return "Not in the school year"
}
}
print("RAW VALUE OF ENUM CASE: \(Month.march.rawValue)")
let typeOfSemester = semester(for: .october)
print("Semester Type:\(typeOfSemester)" )
Output
RAW VALUE OF ENUM CASE: 2
Semester Type:autumn
If we set a value of the first enum as 1 then the raw value count will start from there
enum Month: Int {
case january = 2, february, march, april, may, june, july, august, september, october, november, december
}
print(Month.february.rawValue)