class Question

Clase que representa una pregunta y que contiene las posibles respuestas así como la opción correcta. Se incluye el Mixin Comparable.

Attributes

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)

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 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 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 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