Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
enum Order {
case tea
case coffee(cups: Int)
}
func cost(_ order: Order) -> Int {
switch order {
case .tea: return 2
case .coffee(let cups) where cups > 2: return cups * 2
case .coffee(let cups): return cups * 3
}
}
print(cost(.coffee(cups: 2)), cost(.coffee(cups: 4)))6 8
- Ждать
4 8: считатьwhereпометкой. Ветка сwhereвыполняется, только если условие истинно; иначеswitchпроверяет следующую ветку. - Ждать ошибку компиляции из-за того, что нет
default:switchпо перечислению компилируется, когда у каждого варианта есть ветка.
- Что выведет программа, если поменять местами две ветки
.coffee? - Как прочитать число чашек через
if caseвместоswitch?