Class: Quiz
- Inherits:
-
Object
- Object
- Quiz
- Defined in:
- lib/Quiz.rb
Overview
Quiz.rb
- Autor
-
Dailos Sabina Rodriguez
- Autor
-
Raul Perez Hernandez
Clase Quiz
Definicion de la clase Quiz que permite representar un examen por pantalla mediante los siguientes metodos y tambien comprobar el resultado del examen
-
metodo initialize
-
metodo to_s
-
metodo check
Direct Known Subclasses
Instance Attribute Summary collapse
-
#name ⇒ Object
Atributo name que guarda el titulo del examen Atributo questions que guarda las diferentes respuestas del examen.
-
#questions ⇒ Object
Atributo name que guarda el titulo del examen Atributo questions que guarda las diferentes respuestas del examen.
Instance Method Summary collapse
-
#check(resp) ⇒ Object
Metodo para comprobar las respuestas dadas del examen.
-
#initialize(name, questions) ⇒ Quiz
constructor
Metodo para inicializar la clase.
-
#invertir ⇒ Object
Metodo para invertir el order de las preguntas siguiendo programacion funcional.
-
#invertir_manual ⇒ Object
Metodo para invertir el order de las preguntas sin programacion funcional.
-
#to_s ⇒ Object
Metodo para mostrar el examen por pantalla.
Constructor Details
#initialize(name, questions) ⇒ Quiz
Metodo para inicializar la clase
23 24 25 26 27 |
# File 'lib/Quiz.rb', line 23 def initialize(name, questions) @aciertos = 0 @name = name @questions = questions end |
Instance Attribute Details
#name ⇒ Object
Atributo name que guarda el titulo del examen Atributo questions que guarda las diferentes respuestas del examen
20 21 22 |
# File 'lib/Quiz.rb', line 20 def name @name end |
#questions ⇒ Object
Atributo name que guarda el titulo del examen Atributo questions que guarda las diferentes respuestas del examen
20 21 22 |
# File 'lib/Quiz.rb', line 20 def questions @questions end |
Instance Method Details
#check(resp) ⇒ Object
Metodo para comprobar las respuestas dadas del examen
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/Quiz.rb', line 39 def check(resp) r = 0 @questions.each do |q| if q.num_c == resp[r] @aciertos += 1 end r +=1 end @aciertos end |
#invertir ⇒ Object
Metodo para invertir el order de las preguntas siguiendo programacion funcional
60 61 62 63 64 |
# File 'lib/Quiz.rb', line 60 def invertir q_inv = List.new @questions.map { |n| q_inv.ins_inicio(n) } @questions = q_inv end |
#invertir_manual ⇒ Object
Metodo para invertir el order de las preguntas sin programacion funcional
51 52 53 54 55 56 57 |
# File 'lib/Quiz.rb', line 51 def invertir_manual q_inv = List.new @questions.each do |p| q_inv.ins_inicio(p) end @questions = q_inv end |
#to_s ⇒ Object
Metodo para mostrar el examen por pantalla
30 31 32 33 34 35 36 |
# File 'lib/Quiz.rb', line 30 def to_s q = "#{@name}" + "\n" @questions.each do |p| q << p.to_s + "\n" end q end |