class Question
Clase que representa una pregunta y que contiene las posibles respuestas así como la opción correcta. Se incluye el Mixin Comparable.
Constants
- KIND
- ORDER
Attributes
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)
Public Class Methods
Inicialización de la pregunta, recogiendo los atributos ask, respuestaCorrecta y difficulty (por defecto 0).
# File lib/exam/question.rb, line 10 def initialize(ask,respuestaCorrecta,difficulty=0) @ask,@respuestaCorrecta,@difficulty = ask,respuestaCorrecta,difficulty end
Public Instance Methods
Método que hace la comparativa entre preguntas en función de su dificultad y sólo si la pasada por parámetro es también una Question
# File lib/exam/question.rb, line 17 def <=> (other) return nil unless other.is_a?Question @difficulty <=> other.difficulty end
Método que invalida el == y lo ajusta en el caso de que se den dos preguntas con la misma dificultad donde entonces se determinará que realmente son iguales si tienen además el mismo enunciado (ask).
# File lib/exam/question.rb, line 25 def == (other) return nil unless other.is_a?Question iguales = false if (self.difficulty == other.difficulty) && (self.ask == other.ask) iguales = true end iguales end
# File lib/quiz/question.rb, line 15 def check(answerUser) @answers[answerUser -1].is_right? end
# File lib/quiz/question.rb, line 21 def to_s cadena = @text + "\n" @answers.each do |answer| cadena << " #{answer}\n" end cadena end