Les exercices sont utilisés dans les sports pour maîtriser des mouvements spécifiques. En basket-ball, les joueurs ont percuté des lancers francs, des trois points et des dribbles. En programmation, les exercices fournissent un moyen de s'engager dans une pratique délibérée pour développer des compétences dans des fonctionnalités linguistiques spécifiques, des API ou des idiomes.
Les mêlées sont utilisées dans les sports pour imiter les conditions et la complexité d'un jeu afin d'intégrer les compétences intégrées dans les exercices et de développer un travail d'équipe. Les exercices complètent des pratiques de mêlée plus complexes telles que Ruby Koans, Ruby Quiz ou travailler sur un projet open-source. Si nous utilisons une expression japonaise, des exercices pouvaient également être considérés comme «kihon», le précurseur plus simple de «kata». Les exercices n'ont pas la complexité d'un projet complet. Ils peuvent être exécutés seuls ou avec des amis.
Les défis dans les exercices de rubis se concentrent sur une méthode spécifique. Les réponses se composent généralement d'une seule ligne. Votre objectif est de compléter la perceuse avec facilité et joie, sans consulter aucune documentation externe. Au début, vous trouverez très probablement ce genre de pratique ni facile ni joyeux. Code sur. Entraînez-vous pendant quelques jours jusqu'à ce que vos connaissances de ces méthodes deviennent automatique. Cela rendra votre programmation quotidienne plus agréable en libérant votre esprit pour se concentrer sur des complexités de plus haut niveau et de plus grande valeur que la syntaxe de la langue.
$ gem install ruby_drills
$ ruby_drills
Les exercices s'exécutent dans la ligne de commande. Vous répondez aux questions des exercices à l'aide d'un REP. Cette pratique a l'avantage de vous préparer à vous développer au REP, une technique utile pour essayer des fonctionnalités ou des algorithmes de langue et un excellent complément au TDD.
Commencez par choisir un exercice disponible dans le menu. Les exercices de tableau et de cordes ont actuellement le plus de contenu, alors commencez par l'un de ceux-ci!
Une session de forage pour la méthode Enumerable#zip peut être constituée des éléments suivants:
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:
Questions sur les exercices Ruby? Des idées sur la façon de pratiquer? Rendez-vous au groupe Google.
Lorsque vous interagissez avec les exercices Ruby, vos réponses sont enregistrées dans une API de collection de forets à distance hébergée par des esprits testés. Aucune information personnellement identifiable n'est incluse dans ces données: pour le moment, nous sommes intéressés par les modèles de pratique globaux et les statistiques, et non les profils utilisateur individuels. Les données d'activité ressemblent à:
{
"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? }"
}
Nous sommes intéressés par des questions comme:
Ces données nous aideront à faire évoluer l'expérience des exercices Ruby. Cela pourrait également constituer la base d'une expérience plus personnalisée, vous permettant de revoir vos progrès et de comparer vos séances de pratique à d'autres. En savoir plus à ce sujet à venir alors que nous analysons les données collectées et partageons les résultats avec la communauté.
En fin de compte, nous aimerions savoir si l'exercice et la pratique dans Ruby et d'autres langages de programmation nous aident à résoudre des défis de programmation plus complexes. Il y a actuellement très peu de données disponibles pour les chercheurs pour aider à répondre scientifiquement à cette question. Espérons que les données recueillies dans Ruby Forels peuvent fournir une pièce de ce puzzle.
Chaque exercice se compose de quatre méthodes:
setup : initialisez les variables d'instance utilisées dans l'exercice, y compris @hints , un tableau d'indices qui peuvent guider l'utilisateur vers la réponse.
show : met une chaîne qui décrit l'exercice.
reference : Fournissez une solution de référence en tant que code rubis valide sous forme de chaîne. Ceci sera évalué pour déterminer si l'entrée de l'utilisateur doit être validée.
valid?(input) : une fonction de validation qui renvoie True ou False. Utilisé pour voir si l'entrée d'un utilisateur qui correspond à la solution de référence répond à d'autres contraintes.
Il est facile de s'impliquer en créant de nouveaux exercices. Veuillez vérifier la liste des problèmes sur GitHub pour trouver quelque chose à faire.
Si vous êtes nouveau sur Github:
git checkout -b my-new-feature )git commit -am 'Add some feature' )git push origin my-new-feature )Merci aux contributeurs et à ces individus exceptionnels pour avoir rendu possible les exercices de rubis:
Ruby Drings est sous licence Apache, version 2.0. Voir la licence ci-jointe.txt et note.txt pour plus d'informations.