class Quiz::Quiz
clase Quiz que permite la definicion de un examen
Constants
- RIGHT
Variable que se asigna a una respuesta para indicar que es correcta
- WRONG
Variable que se asigna a una respuesta para indicar que es erronea
Public Class Methods
new(titulo, &preguntas)
click to toggle source
almacena el titulo del examen y un bloque que analiza para obtener las preguntas string y bloque
# File lib/quiz/quiz.rb, line 13 def initialize(titulo, &preguntas) @titulo = titulo @preguntas = Array.new @counter = 0 instance_eval &preguntas end
Public Instance Methods
question(pregunta, respuestas)
click to toggle source
cada cuestion es dividida en pregunta y respuestas, almacenando un array de questiones
string y hash
# File lib/quiz/quiz.rb, line 22 def question(pregunta, respuestas) nuevaPregunta = Question.new(pregunta, respuestas) @preguntas.push(nuevaPregunta) @counter = 0 end
right()
click to toggle source
diferencia las ocurrencias de las respuestas usando un contador @counter:
# File lib/quiz/quiz.rb, line 44 def right @counter += 1 [@counter, RIGHT] end
run()
click to toggle source
ejecuta el examen
# File lib/quiz/quiz.rb, line 50 def run @acertadas = 0 puts @titulo +"\n\n" @preguntas.each do |pre| if pre.consulta then @acertadas += 1 end end puts "#{@acertadas} respuestas correctas de un total de #{@preguntas.size}" end
to_s()
click to toggle source
muestra el examen como un string
# File lib/quiz/quiz.rb, line 29 def to_s @cadena = @titulo + "\n" @preguntas.each do |q| @cadena = @cadena + q.to_s end return @cadena end
wrong()
click to toggle source
diferencia las ocurrencias de las respuestas usando un contador @counter:
# File lib/quiz/quiz.rb, line 38 def wrong @counter += 1 [@counter, WRONG] end