Ruby fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.3 KiB

4 years ago
  1. ## 2 Luokka joka tekee jotain
  2. **Tehtävä:**
  3. Toisessa tehtävässä jatketaan luokkien kanssa työskentelyä. Tällä kertaa tehtävänäsi on määritellä luokka Laatikko, jolle alustuksen yhteydessä luodaan jäsenmuuttuja sisus.
  4. Määrittele tälle jäsenmuuttujalle asettaja- ja palauttajametodit, sekä tee alustuksen yhteyteen mahdollisuus määritellä muuttujan arvo, asettaen oletusarvoksi "nil".
  5. Tämän jälkeen kopioi seuraava ohjelmakoodi lähdekoodiisi; koodilla kokeillaan luokkamäärittelyn toimintaa:
  6. ```
  7. Varasto = Laatikko.new()
  8. Varasto.sisus = "puuhapakki"
  9. puts "Varastossa on sisällä #{Varasto.sisus}."
  10. ```
  11. Toimiessaan oikein ohjelma tulostaa seuraavaa:
  12. Example output:
  13. ```
  14. Varastossa on sisällä puuhapakki.
  15. ```
  16. **Vastaus**
  17. ```
  18. #!/usr/bin/env ruby
  19. # coding: utf-8
  20. class Laatikko
  21. # alustaja
  22. def initialize(sisalto=nil)
  23. @sisus = sisalto
  24. end
  25. # Perinteinen tapa määrittää setter/getter-metodit jäsenmuuttujalle
  26. #
  27. # set-metodi
  28. # def sisus=(sisalto)
  29. # @sisus = sisalto
  30. # end
  31. # get-metodi
  32. # def sisus
  33. # @sisus
  34. # end
  35. # Tai yksinkertaisemmin Rubyn omia määritteitä käyttäen
  36. attr_accessor :sisus
  37. end
  38. Varasto = Laatikko.new()
  39. Varasto.sisus = "puuhapakki"
  40. puts "Varastossa on sisällä #{Varasto.sisus}."
  41. ```