В Swift у меня есть enum
и оператор switch, как показано ниже:
enum Job {
case all
case sweep
case clean
case wash
}
let job: Job = .all
switch job {
case .all:
print("should do all the jobs below")
case .sweep:
print("sweep")
case .clean:
print("clean")
case .wash:
print("wash")
}
Мой вопрос заключается в том, как я могу изменить оператор switch так, чтобы он зацикливал все случаи, если заданный job
равен .all
.
Таким образом, результат печати .all
должен быть:
sweep
clean
wash
У меня возникла идея:
switch job {
case .all: fallthrough
case .sweep:
print("sweep")
if job == .all { fallthrough }
case .clean:
print("clean")
if job == .all { fallthrough }
case .wash:
print("wash")
}
и задаюсь вопросом, есть ли еще какое-нибудь «красивое» решение.
Спасибо.