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

answers[RW]
ask[R]

Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)

difficulty[R]

Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)

respuestaCorrecta[R]

Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)

text[RW]

Public Class Methods

new(ask,respuestaCorrecta,difficulty=0) click to toggle source

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

<=>(other) click to toggle source

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
==(other) click to toggle source

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
check(answerUser) click to toggle source
# File lib/quiz/question.rb, line 15
def check(answerUser)
  
  @answers[answerUser -1].is_right?
  
end
to_s() click to toggle source
# File lib/quiz/question.rb, line 21
def to_s
  cadena = @text + "\n"
  @answers.each do |answer|
      cadena << " #{answer}\n"
  end
  cadena
end