Class: Examen
- Inherits:
-
Object
- Object
- Examen
- Defined in:
- lib/exam/examen.rb
Overview
Clase examen, que contiene una lista de preguntas y permite la realización de un exámen tipo test con las mismas.
Instance Attribute Summary collapse
-
#nota ⇒ Object
readonly
Returns the value of attribute nota.
Instance Method Summary collapse
-
#hacer_examen(respuestas) ⇒ Object
Método que comprueba las respuestas tomando un Array de respuestas.
-
#initialize(lista) ⇒ Examen
constructor
Constructor.
- #inverso ⇒ Object
-
#to_s ⇒ Object
Método que devuelve el examen como un String.
Constructor Details
#initialize(lista) ⇒ Examen
Constructor.
9 10 11 12 13 14 |
# File 'lib/exam/examen.rb', line 9 def initialize (lista) lista.ordenar @preguntas = lista @nota = 0 #inicializamos un array con 0 elementos para las respuestas end |
Instance Attribute Details
#nota ⇒ Object (readonly)
Returns the value of attribute nota.
6 7 8 |
# File 'lib/exam/examen.rb', line 6 def nota @nota end |
Instance Method Details
#hacer_examen(respuestas) ⇒ Object
Método que comprueba las respuestas tomando un Array de respuestas. Sirve para la comprobación no interactiva de las respuestas.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/exam/examen.rb', line 38 def hacer_examen score = 0 @preguntas.each do |preg| puts preg.to_s resp = gets.chomp this = preg.value.resp_correcta?(resp) if (this == true) score += 1 puts "Respuesta correcta" else puts "Respuesta incorrecta" end end puts "Puntuacion: " + score end |
#inverso ⇒ Object
31 32 33 34 35 |
# File 'lib/exam/examen.rb', line 31 def inverso respuesta = "" @preguntas.reverse_each{|x,y| respuesta += "#{x.value.to_s}\n"} respuesta end |
#to_s ⇒ Object
Método que devuelve el examen como un String.
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/exam/examen.rb', line 17 def to_s aux = @preguntas.head respuesta = "" respuesta += aux.value.to_s respuesta += "\n" while (aux != @preguntas.tail) do aux = aux.next respuesta += aux.value.to_s respuesta += "\n" end respuesta end |