## 3 Salasanakysely **Tehtävä:** Luvun kolmannessa tehtävässä toteutetaan nimeä ja salasanaa pyytävä valintarakenne. Ensin ohjelma pyytää nimeä muodossa "Anna nimi: ". Jos käyttäjä antaa nimen "Erkki", pyydetään lisäksi salasana muodossa "Anna salasana: ". Jos salasana on "haukionkala", tervehditään käyttäjää tulosteella "Hei Erkki!". Jos käyttäjä antaa väärän nimen, tulostetaan "En tunne sinua.", ja jos salasana on väärin, "Et ole Erkki.". Toimiessaan oikein ohjelma tulostaa seuraavaa: Example output: ``` Anna nimi: Erkki Anna salasana: hahaa! Et ole Erkki. ``` **Vastaus** ``` #!/usr/bin/env ruby # coding: utf-8 def tarkistaSyote(kysymys, tyyppi, strip=false) begin print kysymys if strip syote = eval(tyyppi + "(gets.chomp).strip") else syote = eval(tyyppi + "(gets.chomp)") end rescue ArgumentError warn "Syöttämäsi valinta ei ole kelvollinen" retry end return syote end nimi = tarkistaSyote("Anna nimi: \n", "String") case nimi when "Erkki" salasana = tarkistaSyote("Anna salasana: \n", "String") case salasana when "haukionkala" puts "Hei #{nimi}!" else puts "Et ole #{nimi}." end else puts "En tunne sinua." end ```