트랙
/
Ruby
Ruby
/
연습 문제
/
영화 관람객
영화 관람객

영화 관람객

학습 연습 문제

소개

삼항 연산자

삼항 조건 연산자는 단순한 if/else 문을 더 짧게 쓰는 방법이에요. if/else 문이 조건이 참일 때와 거짓일 때의 두 가지 분기만 가지고 있다면, 삼항 조건 연산자로 다시 쓸 수 있어요.

삼항 연산자는 ?와 : 기호를 함께 사용해서 조건을 나눠요:

condition ? true_branch : false_branch

? 왼쪽의 코드가 조건이고, 오른쪽에는 :로 구분된 두 가지 분기가 들어 있어요. 조건이 _참_이면 :의 왼쪽 코드가 실행돼요. 조건이 _거짓_이면 :의 오른쪽 코드가 실행돼요.

예를 들어 볼까요:

if traffic_light == 'green'
  cross_the_road
else
  wait
end

는다음과 같이 다시 쓸 수 있어요:

traffic_light == 'green' ? cross_the_road : wait

지침

이 연습 문제에서는 영화관 웹사이트에 사용할 규칙을 만들어요.

1. 영화 관람객이 경로 우대 할인을 받을 자격이 있는지 확인하기

극장에서는 "노령 연금" 할인을 제공해요. 60세 이상이면 누구나 티켓 값으로 10.00을 내요. 그보다 어리면 정가인 15.00을 내요.

삼항 연산자를 사용해서 Moviegoer#ticket_price 메서드를 작성해요.

Moviegoer.new(21).ticket_price
#=> 15

Moviegoer.new(65).ticket_price
#=> 10

2. 영화 관람객이 공포 영화를 볼 수 있는지 확인하기

영화관에는 간소화된 연령 확인 시스템이 있어요. 18세 이상이면 공포 영화를 볼 수 있어요. 그보다 어리면 볼 수 없어요.

Moviegoer#watch_scary_movie? 메서드를 구현해요. 이 메서드는 영화를 볼 수 있는지 여부를 반환해야 해요.

Moviegoer.new(21).watch_scary_movie?
#=> true

Moviegoer.new(17).watch_scary_movie?
#=> false

3. 영화 관람객이 무료 팝콘을 받을 자격이 있는지 확인하기

영화관에는 무비 클럽 프로그램이 있어요. 회원은 어떤 영화를 보든 무료 팝콘을 받아요.

Moviegoer.claim_free_popcorn! 메서드를 구현해요. 관람객이 무비 클럽 회원이면 무료 팝콘을 받아야 해요. 회원이 아니면 코드 맨 위에 정의된 UnsupportedOperation 예외를 발생시켜야 해요.

Moviegoer.new(21, member: true).claim_free_popcorn!
#=> 🍿

Moviegoer.new(17, member: false).claim_free_popcorn!
#=> Exception was raised! (NotMovieClubMemberError)
Note

이 연습 문제에서는 특정 스코프에 대해 UnsupportedOperation 예외를 정의해야 해요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Ruby Exercism

영화 관람객 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Ruby 트랙을 개념 21개연습 문제 121개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.