Kurzusok
/
Ruby
Ruby
/
Feladatok
/
Mozilátogató
Mozilátogató

Mozilátogató

Tanulófeladat

Bevezetés

A ternáris operátor

A ternáris feltételes kifejezés rövidebb módja az egyszerű if/else utasítások leírásának. Ha egy if/else utasítás csak két ágat tartalmaz, az egyiket arra az esetre, amikor a feltétel igaz, a másikat pedig arra, amikor hamis, átírhatod ternáris feltételes kifejezéssé.

A ternáris operátorok a ? és a : szimbólum együttesével bontják két részre a feltételt:

condition ? true_branch : false_branch

A ? bal oldalán lévő kód a feltétel, a jobb oldalán pedig a két lehetséges ág található, amelyeket a : választ el egymástól. Ha a feltétel igaz, akkor a : bal oldalán lévő kód fut le. Ha a feltétel hamis, akkor a : jobb oldalán lévő kód fut le.

Például:

if traffic_light == 'green'
  cross_the_road
else
  wait
end

átírható így:

traffic_light == 'green' ? cross_the_road : wait

Utasítások

Ebben a feladatban egy mozi weboldalához készítesz szabályokat.

1. Ellenőrizd, hogy a mozilátogató jogosult-e a nyugdíjas kedvezményre

A mozi kedvezményt ad a nyugdíjasoknak. Aki 60 éves vagy idősebb, 10.00-t fizet egy jegyért. Aki fiatalabb, a teljes 15.00-t fizeti.

Írd meg a Moviegoer#ticket_price metódust egy ternáris operátorral.

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

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

2. Ellenőrizd, hogy a mozilátogató megnézhet-e ijesztő filmeket

A mozi egyszerűsített korhatár-ellenőrzést alkalmaz. Ha elmúltál 18, nézhetsz ijesztő filmeket. Ha fiatalabb vagy, akkor nem nézheted meg őket.

Valósítsd meg a Moviegoer#watch_scary_movie? metódust. Adja vissza, hogy valaki megnézheti-e a filmet vagy sem.

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

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

3. Ellenőrizd, hogy a mozilátogató jogosult-e az ingyen popcornra

A mozinak van egy Movie Club nevű programja. A tagok ingyen popcornt kapnak, valahányszor megnéznek egy filmet.

Valósítsd meg a Moviegoer.claim_free_popcorn! metódust. Ha a néző tagja a Movie Clubnak, megkapja a neki járó ingyen popcornt. Ha nem, a metódusnak a kód elején definiált UnsupportedOperation kivételt kell dobnia.

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

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

Ebben a feladatban a UnsupportedOperation kivételt egy adott scope-ra kell definiálnod.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Ruby Exercism

Készen állsz elkezdeni a(z) Mozilátogató feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Ruby nyelvet 21 fogalom121 feladat segítségével, valódi emberi mentorálással, mindez ingyen.