강의로 돌아가기
-

언더바와 where은 역할은 무엇인가요?

_와 where 둘중 어느것을 생략하더라도 에러가 뜨더군요.

case let C1apacity where C1apacity > 30 :
roomDescription = \(RoomName)는 겁나 큰방이며 별도 예약이 겁나 필요함.

위 코드에서 let C1apacity 대신 Capacity를 대입하니 에러가 뜹니다.

그리고 where의 역할 또한 궁금합니다.

1 개의 답변
-

1. let C1apacity 대신 Capacity를 대입하니 에러가 뜹니다

case let C1apacity where C1apacity > 30 :에는 C1apacity가 2번 나타나 어느 C1apacity를 바꾸셨다는건지 잘 모르겠습니다.
강의와 변수 이름을 다르게 쓰셔서, 코드 전문이 있어야 정확히 알려드릴 수 있을 것 같습니다.

우선 첫 번째 C1apacity를 'Capacity'로 바꾸셨을 때 에러가 발생한다면, 해당 case 문 안에 선언되지 않은 변수C1apacity를 쓸 경우 에러가 발생할 수 있습니다.
두 번째 C1apacity를 'Capacity'로 바꾸셨을 때 에러가 발생한다면, 그건 선언하지 않은 'Capacity'에 대해 조건 검사(Capacity > 30)을 했기 때문입니다.

2. where

Control flow where를 보시면

A switch case can use a where clause to check for additional conditions.

스위치문에서 조건을 추가로 확인하고 싶을 때 where를 쓸 수 있습니다.

  • 답변이 마음에 안들거나, 추가로 질문할 사항이 있으신 경우 댓글이 아니라 질문을 추가 작성해주시면 빨리 답변 받으실 수 있습니다. 감사합니다.
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.