1. ¿En que año Cristobal Colón descubrió América? 1 - 1942 2 - 1492 3 - 1808 4 - 1914 Su respuesta:Debe definir una API que soporte un pequeño lenguaje en el que las preguntas puedan ser especificadas de una forma natural. algo así vale:
quiz = Quiz.new("Cuestionario de PFS 10/12/2011") { question '¿En que año Cristobal Colón descubrió América?', wrong =>'1942', right =>'1492', wrong =>'1808', wrong =>'1914' a = rand(10) b = rand(10) question "#{a}+#{b} = ", wrong =>"44", wrong =>"#{a + b + 2}", right =>"#{a + b}", wrong =>"#{a + b - 2}" } puts quiz puts "************************" quiz.runEl programa anterior podría producir una salida parecida a esta:
MacBookdeCasiano:chapter8ReflectionandMetaprogramming casiano$ ruby Quiz.rb Cuestionario de PFS 10/12/2011 ¿En que año Cristobal Colón descubrió América? 1 - 1942 2 - 1492 3 - 1808 4 - 1914 0+8 = 1 - 44 2 - 10 3 - 8 4 - 6 ************************ Cuestionario de PFS 10/12/2011 ¿En que año Cristobal Colón descubrió América? 1 - 1942 2 - 1492 3 - 1808 4 - 1914 Su respuesta: 3 0+8 = 1 - 44 2 - 10 3 - 8 4 - 6 Su respuesta: 1 0 respuestas correctas de un total de 2. MacBookdeCasiano:chapter8ReflectionandMetaprogramming casiano$
to_s
run
que formulara
cada una de las preguntas del cuestionario y mostrara el porcentaje de aciertos
Answer
),
otra para las preguntas (Question
) y una para el cuestionario (Quiz
)
question
:
question '¿En que año Cristobal Colón descubrió América?', wrong =>'1942', right =>'1492', wrong =>'1808', wrong =>'1914'si el segundo argumento es un hash y las claves son
wrong
y right
se va a
producir una colisión y el último valor sobreescribirá a los anteriores. ¿Se puede resolver?
Casiano Rodriguez León 2015-01-07