Class: Question
- Inherits:
-
Object
- Object
- Question
- Includes:
- Comparable
- Defined in:
- lib/exam/question.rb,
lib/quiz/question.rb
Overview
Clase que representa una pregunta y que contiene las posibles respuestas así como la opción correcta. Se incluye el Mixin Comparable.
Direct Known Subclasses
Constant Summary collapse
- ORDER =
0
- KIND =
1
Instance Attribute Summary collapse
-
#answers ⇒ Object
Returns the value of attribute answers.
-
#ask ⇒ Object
readonly
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta).
-
#difficulty ⇒ Object
readonly
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta).
-
#respuestaCorrecta ⇒ Object
readonly
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta).
-
#text ⇒ Object
Returns the value of attribute text.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
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.
-
#==(other) ⇒ Object
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).
- #check(answerUser) ⇒ Object
-
#initialize(text, answers) ⇒ Question
constructor
Inicialización de la pregunta, recogiendo los atributos ask, respuestaCorrecta y difficulty (por defecto 0).
- #to_s ⇒ Object
Constructor Details
#initialize(text, answers) ⇒ Question
Inicialización de la pregunta, recogiendo los atributos ask, respuestaCorrecta y difficulty (por defecto 0).
10 11 12 |
# File 'lib/exam/question.rb', line 10 def initialize(ask,respuestaCorrecta,difficulty=0) @ask,@respuestaCorrecta,@difficulty = ask,respuestaCorrecta,difficulty end |
Instance Attribute Details
#answers ⇒ Object
Returns the value of attribute answers.
6 7 8 |
# File 'lib/quiz/question.rb', line 6 def answers @answers end |
#ask ⇒ Object (readonly)
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)
8 9 10 |
# File 'lib/exam/question.rb', line 8 def ask @ask end |
#difficulty ⇒ Object (readonly)
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)
8 9 10 |
# File 'lib/exam/question.rb', line 8 def difficulty @difficulty end |
#respuestaCorrecta ⇒ Object (readonly)
Atributos que almacenarán el enunciado (ask), la dificultad (difficulty) y la opción correcta (respuestaCorrecta)
8 9 10 |
# File 'lib/exam/question.rb', line 8 def respuestaCorrecta @respuestaCorrecta end |
#text ⇒ Object
Returns the value of attribute text.
6 7 8 |
# File 'lib/quiz/question.rb', line 6 def text @text end |
Instance Method Details
#<=>(other) ⇒ Object
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
17 18 19 20 |
# File 'lib/exam/question.rb', line 17 def <=> (other) return nil unless other.is_a?Question @difficulty <=> other.difficulty end |
#==(other) ⇒ Object
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).
25 26 27 28 29 30 31 32 |
# 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) ⇒ Object
15 16 17 18 19 |
# File 'lib/quiz/question.rb', line 15 def check(answerUser) @answers[answerUser -1].is_right? end |
#to_s ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/quiz/question.rb', line 21 def to_s cadena = @text + "\n" @answers.each do |answer| cadena << " #{answer}\n" end cadena end |