Los ejercicios se usan en deportes para dominar movimientos específicos. En el baloncesto, los jugadores perforan en tiros libres, triples y dribling. En la programación, los ejercicios proporcionan una forma de participar en una práctica deliberada para desarrollar habilidades en características de lenguaje específicas, API o modismos.
Los scrimmages se utilizan en los deportes para imitar las condiciones y la complejidad de un juego para integrar las habilidades incorporadas en ejercicios y desarrollar el trabajo en equipo. Los ejercicios complementan prácticas de scrimmage más complejas como Ruby Koans, Ruby Quiz o trabajan en un proyecto de código abierto. Si usáramos una expresión japonesa, los ejercicios también podrían considerarse como 'kihon', el precursor más simple de 'kata'. Los ejercicios carecen de la complejidad de un proyecto completo. Se pueden realizar solos o con amigos.
Los desafíos en los ejercicios de rubí se centran en un método específico. Las respuestas generalmente consisten en una sola línea. Su objetivo es completar el ejercicio con facilidad y alegría, sin consultar ninguna documentación externa. Al principio, lo más probable es que este tipo de práctica no sea fácil ni alegre. Código encendido. Practique durante unos días hasta que su conocimiento de estos métodos se vuelva automático. Hacerlo hará que su programación diaria sea más agradable al liberar su mente para concentrarse en complejidades de mayor valor y mayor valor que la sintaxis del lenguaje.
$ gem install ruby_drills
$ ruby_drills
Los ejercicios se ejecutan en la línea de comando. Responde preguntas en simulacros usando un repl. Esta práctica tiene el beneficio de prepararlo para desarrollar en el Reply, una técnica útil para probar características o algoritmos del lenguaje y un gran complemento para TDD.
Comience por elegir un taladro disponible en el menú. Los ejercicios de matriz y cadena actualmente tienen la mayor cantidad de contenido, ¡así que comience con uno de esos!
Una sesión de perforación para el método Enumerable#zip podría consistir en lo siguiente:
We have two arrays:
a: [4, 5, 6]
b: [7, 8, 9]
Use a method from the Enumerable mixin that will take one element from
a new array and merge the corresponding elements from a and b to yield
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]:
>> c = [1,2,3]
=> [1, 2, 3]
not yet...
>> c.zip(a, b)
=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
!!! WIN !!!
How does your answer compare to the reference solution?
[1,2,3].zip(@a, @b)
Press any key to continue:
¿Preguntas sobre ejercicios de rubí? ¿Ideas sobre cómo practicar? Dirígete al Grupo Google.
A medida que interactúa con los ejercicios de rubí, sus respuestas se están guardando en una API de coleccionista remota alojada por mentes probadas. No se incluye información de identificación personal en estos datos: en este momento, estamos interesados en los patrones y estadísticas de práctica general, no los perfiles de usuarios individuales. Los datos de actividad se ven como:
{
"timestamp" : "May 5, 2013 12:03:51 AM CST",
"result" : "pass",
"input" : "@numbers.partition{|x | x.even? }",
"sessionId" : "2217-47e8-b80a-68b81c980c32",
"drill" : "PartitionDrill",
"type" : "attempt",
"reference" : "@numbers.partition {|x| x.even? }"
}
Estamos interesados en preguntas como:
Estos datos nos ayudarán a evolucionar la experiencia de Ruby Drills. Esto también podría formar la base de una experiencia más personalizada, lo que le permite revisar su progreso y comparar sus sesiones de práctica con los demás. Más sobre esto por venir cuando analizamos los datos recopilados y compartimos los resultados con la comunidad.
En última instancia, nos gustaría averiguar si el perforación y la práctica en Ruby y otros lenguajes de programación nos ayuda a resolver desafíos de programación más complejos. Actualmente hay muy pocos datos disponibles para los investigadores para ayudar a responder esta pregunta científicamente. Con suerte, los datos recopilados en los ejercicios de rubí pueden proporcionar una pieza de este rompecabezas.
Cada ejercicio consta de cuatro métodos:
setup : Inicialice las variables de instancia utilizadas en el taladro, incluidos @hints , una variedad de sugerencias que pueden guiar al usuario hacia la respuesta.
show : pone una cadena que describe el taladro.
reference : Proporcione una solución de referencia como código Ruby válido en el formulario de cadena. Esto se evaluará para determinar si la entrada del usuario debe validarse.
valid?(input) : una función de validación que devuelve verdadero o falso. Se utiliza para ver si la entrada de un usuario que coincide con la solución de referencia cumple con otras restricciones.
Es fácil involucrarse creando nuevos ejercicios. Consulte la lista de problemas en GitHub para encontrar algo que hacer.
Si eres nuevo en Github:
git checkout -b my-new-feature )git commit -am 'Add some feature' )git push origin my-new-feature )Gracias a los contribuyentes y a estas personas sobresalientes por hacer posibles simulacros de rubí:
Ruby Drills tiene licencia bajo la licencia Apache, versión 2.0. Consulte la licencia adjunta.txt y aviso.txt para obtener más información.