Enum - Additional Value

Enum'a ek olarak değer parametresi eklenebilir. Aşağıdaki örnekte rüzgar için hız parametresi eklenmiştir. Fonksiyonda hız değerine göre koşul oluşturulmuştur.


// enum additional value

enum WeatherType {
    case sun
    case cloud
    case rain
    case wind(speed: Int)
    case snow
}

func getHaterStatus(weather: WeatherType) -> String? {
    switch weather {
    case .sun:
        return nil
    case .wind(let speed) where speed < 10:
        return "meh"
    case .cloud, .wind:
        return "dislike"
    case .rain, .snow:
        return "hate"
    }
}

getHaterStatus(weather: WeatherType.wind(speed: 5))