강의로 돌아가기
편해윤

코드에 대한 질문

typealias ShopingItem = (name:String, amount:Int)
let cart = ShopingItem(beer, 1)

switch cart {
case (beer, let amount) where amount <= 3 : //맥주 3병 이하
print(Guide to small item counter)
case (beer, let amount) where amount >= 51 && amount<=100:
print(Call manager)
case (beer, let amount) where amount > 100 : //맥주 100병 초과
print(Call police)
default: //나머지(맥주 4병 이상 50병 이하)
print(Make wait in line)

}

정답을 0...3과 같은 형식으로 작성해야 한다는 것은 알겠는데 왜 100병을 초과 할 때만 let amount~의 형식을 사용하는 것인지요? 제가 여기에 적어놓은 코드로 작성시 출력은 맞으나 정답은 아니라고 나오는데 그 이유가 무엇인지 질문 드립니다.

작성중인 코드―Beer.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typealias ShopingItem = (name:String, amount:Int)
let cart = ShopingItem("beer", 1)

switch cart {
case ("beer", 0...3) : //맥주 3병 이하
    print("Guide to small item counter")
case ("beer", 51...100) : //맥주 51병이상 100병 까지
    print("Call manager")
case ("beer", let amount) where amount>100 : //맥주 100병 초과
    print("Call police")
default: //나머지(맥주 4병 이상 50병 이하)
    print("Make wait in line")

}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.