## 4 Oraakkeli **Tehtävä:** Luvun neljännessä tehtävässä harjoitellaan case-valinnan käyttöä, sekä luodaan arkielämää helpottava, erehtymätön, Oraakkeli-ohjelma. Ohjelma käynnistyy antamalla lyhyen selityksen itsestään: "Oraakkeli vastaa kyllä/ei-muodossa". Tämän jälkeen pyydetään käyttäjältä kysymys "Kirjoita kysymyksesi Oraakkelille:". Tämän jälkeen ohjelma arpoo luvun väliltä 0-99 ja vastaa käyttäjälle seuraavassa muodossa: "Kysymyksesi oli: [esitetty kysymys]", "Tähän Oraakkeli vastasi:" ja mikäli satunnaisluku oli 0-19, "Ei missään nimessä!", 20-44 "Ei varmaankaan", 45-54 "En osaa sanoa.", 55-79 "Luultavasti kyllä." ja 80-99 "Ehdottomasti kyllä". Toimiessaan oikein ohjelma tulostaa seuraavaa: Example output: ``` Oraakkeli vastaa kyllä/ei-muodossa Kirjoita kysymyksesi Oraakkelille: Onko nyt hyvä päivä? Kysymyksesi oli: Onko nyt hyvä päivä? Tähän Oraakkeli vastasi: En osaa sanoa. ``` **Vastaus** ``` #!/usr/bin/env ruby # coding: utf-8 puts "Oraakkeli vastaa kyllä/ei-muodossa\n\ Kirjoita kysymyksesi Oraakkelille:" begin kysymys = String(gets.chomp) if not kysymys[-1] == "?" puts "Ei ole kysymys" throw ArgumentError end rescue ArgumentError warn "Syötteesi ei ole kelvollinen" retry end puts "Kysymyksesi oli: #{kysymys}" x = rand(0..99) case x when 0..19 vastaus = "Ei missään nimessä!" when 20..44 vastaus = "Ei varmaankaan" when 45..54 vastaus = "En osaa sanoa." when 55..79 vastaus = "Luultavasti kyllä." when 80..99 vastaus = "Ehdottomasti kyllä." # else-vaihtoehto ei koskaan toteutuisi, mikäli x on aina väliltä 0-99, # ja edellämainitut tilanteet kattavat koko kyseisen arvovälin end print "Tähän Oraakkeli vastasi:\n#{vastaus}" ```