Tracks
/
Ruby
Ruby
/
Ejercicios
/
Cinéfilo
Cinéfilo

Cinéfilo

Ejercicio de aprendizaje

Introducción

El operador ternario

Un condicional ternario es una forma más corta de escribir sentencias if/else simples. Si una sentencia if/else contiene solo dos ramas, una para cuando la condición es verdadera y otra para cuando es falsa, se puede reescribir como un condicional ternario.

Los ternarios usan una combinación de los símbolos ? y : para dividir un condicional:

condition ? true_branch : false_branch

El código del lado izquierdo del ? es la condición y el código de la derecha contiene las dos ramas posibles, separadas por :. Si la condición es verdadera, se ejecuta el código del lado izquierdo de :. Si la condición es falsa, entonces se ejecuta el código a la derecha de :.

Por ejemplo:

if traffic_light == 'green'
  cross_the_road
else
  wait
end

se puede reescribir como:

traffic_light == 'green' ? cross_the_road : wait

Instrucciones

En este ejercicio vas a crear las reglas para el sitio web de un cine.

1. Verifica si un espectador tiene derecho al descuento para pensionados

El cine ofrece un descuento para «pensionados». Quien tenga 60 años o más paga 10.00 por la entrada. Quien sea más joven paga los 15.00 completos.

Escribe el método Moviegoer#ticket_price usando una sentencia ternaria.

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

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

2. Verifica si un espectador puede ver películas de terror

El cine tiene un sistema simplificado de verificación de edad. Si tienes 18 años o más, puedes ver películas de terror. Si eres más joven, no puedes.

Implementa el método Moviegoer#watch_scary_movie?. Debe devolver si alguien tiene permitido ver la película o no.

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

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

3. Verifica si un espectador tiene derecho a palomitas de maíz gratis

El cine tiene un programa llamado Club de Cine. Los miembros reciben palomitas de maíz gratis cuando ven cualquier película.

Implementa el método Moviegoer.claim_free_popcorn!. Si quien ve la película es miembro del club de cine, debe recibir sus palomitas de maíz gratis. Si no lo es, el método debe lanzar la excepción UnsupportedOperation definida al inicio del código.

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

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

En este ejercicio, se espera que definas la excepción UnsupportedOperation para un ámbito específico.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Ruby Exercism

¿Todo listo para empezar Cinéfilo?

Regístrate en Exercism para aprender y dominar Ruby con 21 conceptos121 ejercicios y mentoría humana real, todo gratis.