Здравствуйте, помогите пожалуйста.
Мне нужно создать enum с кейсами разных автомобилей, и ассоциативные значения: цвет (заданный через nested type ) и максимальная скорость. Далее создать массив этих автомобилей и написать функцию принимающую этот массив и с помощью цикла перебрать массив и распечатать в консоль цвет и максимальную скорость каждого автомобиля.
Как сделать правильно?
Заранее спасибо
enum car {
case bmw (color: Color, maxSpeed: Speed )
case mersedes (color: Color, maxSpeed: Speed )
case audi (color: Color, maxSpeed: Speed )
case lanos (color: Color, maxSpeed: Speed )
enum Color: String {
case bmwColor = "yellow"
case mersedesColor = "blue"
case audiColor = "green"
case lanosColor = "red"
}
enum Speed: Int {
case bmwSpeed = 180
case mersedesSpeed = 220
case audiSpeed = 240
case lanosSpeed = 160
}
}
let Bmw = car.bmw(color: .bmwColor, maxSpeed: .bmwSpeed)
let Mersedes = car.mersedes(color: .mersedesColor, maxSpeed: .mersedesSpeed)
let Audi = car.audi(color: .audiColor, maxSpeed: .audiSpeed)
let Lanos = car.lanos(color: .lanosColor, maxSpeed: .lanosSpeed)
var arrayAutos = [Bmw, Mersedes, Audi, Lanos]
func methodAutos(autos: [car]) {
switch Bmw {
case .bmw(let color, let speed):
print(color.rawValue)
print(speed.rawValue)
case .mersedes(let color, let speed):
print(color.rawValue)
print(speed.rawValue)
case .audi(let color, let speed):
print(color.rawValue)
print(speed.rawValue)
case .lanos(let color, let speed):
print(color.rawValue)
print(speed.rawValue)
}
}
methodAutos(autos: arrayAutos)