Übungen werden im Sport verwendet, um bestimmte Bewegungen zu beherrschen. Im Basketball bohren die Spieler Freiwürfe, Dreipunkte und Dribbeln. Bei der Programmierung bieten Bohrer eine Möglichkeit, absichtliche Praxis zu betreiben, um Fähigkeiten in bestimmten Sprachmerkmalen, APIs oder Redewendungen zu entwickeln.
Scrimmages werden im Sport verwendet, um die Bedingungen und die Komplexität eines Spiels nachzuahmen, um Fähigkeiten zu integrieren, die in Übungen eingebaute Übungen integrieren und Teamwork entwickeln. Bohrer ergänzen komplexere Scrimmage-Praktiken wie Ruby Koans, Ruby Quiz oder arbeiten an einem Open-Source-Projekt. Wenn wir einen japanischen Ausdruck verwenden, konnten auch Übungen als "Kihon" angesehen werden, desto einfacherer Vorläufer von "Kata". Bei den Übungen fehlt die Komplexität eines vollständigen Projekts. Sie können alleine oder mit Freunden durchgeführt werden.
Herausforderungen bei Ruby Drills konzentrieren sich auf eine bestimmte Methode. Antworten bestehen typischerweise aus einer einzelnen Zeile. Ihr Ziel ist es, den Bohrer mit Leichtigkeit und Freude zu vervollständigen, ohne eine externe Dokumentation zu konsultieren. Zuerst finden Sie diese Art von Übung höchstwahrscheinlich weder einfach noch freudig. Code auf. Üben Sie ein paar Tage, bis Ihr Wissen über diese Methoden automatisch wird. Dies wird Ihre tägliche Programmierung angenehmer machen, indem Sie sich auf die Konzentration auf höhere, höherwertige Komplexitäten als die Syntax der Sprache befassen.
$ gem install ruby_drills
$ ruby_drills
Bohrer werden in der Befehlszeile ausgeführt. Sie beantworten Fragen in Übungen mit einer Wiederholung. Diese Praxis hat den Vorteil, dass Sie sich auf die Entwicklung an der Repl, eine nützliche Technik zum Ausprobieren von Sprachmerkmalen oder Algorithmen und eine großartige Ergänzung zu TDD vorbereiten.
Wählen Sie zunächst einen verfügbaren Bohrer aus dem Menü aus. Die Array- und String -Drills haben derzeit die meisten Inhalte. Beginnen Sie also mit einem davon!
Eine Drill -Sitzung für die Enumerable#zip -Methode kann aus Folgendes bestehen:
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:
Fragen zu Ruby Drills? Ideen zum Üben? Besuchen Sie die Google -Gruppe.
Wenn Sie mit Ruby -Übungen interagieren, werden Ihre Antworten in einer von getesteten Köpfen gehosteten Remote -Bohrkollektor -API gespeichert. In diesen Daten sind keine persönlich identifizierbaren Informationen enthalten: Zu diesem Zeitpunkt interessieren wir uns für allgemeine Praxismuster und Statistiken, nicht an einzelnen Benutzerprofilen. Aktivitätsdaten sehen aus:
{
"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? }"
}
Wir interessieren uns für Fragen wie:
Diese Daten werden uns helfen, die Ruby -Drills -Erfahrung zu entwickeln. Dies könnte auch die Grundlage für eine personalisiertere Erfahrung bilden, sodass Sie Ihren Fortschritt überprüfen und Ihre Praxissitzungen mit anderen vergleichen können. Weitere Informationen dazu analysieren die gesammelten Daten und teilen die Ergebnisse mit der Community.
Letztendlich möchten wir herausfinden, ob Drill und Üben in Ruby und anderen Programmiersprachen uns helfen, komplexere Programmierherausforderungen zu lösen. Derzeit stehen Forschern derzeit nur sehr wenige Daten zur Verfügung, um diese Frage wissenschaftlich zu beantworten. Hoffentlich können die in Ruby Drills gesammelten Daten ein Stück dieses Puzzles liefern.
Jede Übung besteht aus vier Methoden:
setup : Instanzvariablen initialisieren, die im Bohrer verwendet werden, einschließlich @hints , eine Reihe von Hinweisen, die den Benutzer zur Antwort führen können.
show : Stellt eine Zeichenfolge, die den Bohrer beschreibt.
reference : Geben Sie eine Referenzlösung als gültiger Ruby -Code in Zeichenfolgenformular an. Dies wird bewertet, um festzustellen, ob die Eingabe des Benutzers validiert werden sollte.
valid?(input) : Eine Validierungsfunktion, die True oder False zurückgibt. Wird verwendet, um festzustellen, ob die Eingabe eines Benutzers, die der Referenzlösung entspricht, auf andere Einschränkungen erfüllt.
Es ist einfach, sich durch die Erstellung neuer Übungen zu engagieren. Bitte überprüfen Sie die Ausgabenliste in GitHub, um etwas zu finden.
Wenn Sie neu in GitHub sind:
git checkout -b my-new-feature ).git commit -am 'Add some feature' )git push origin my-new-feature )Vielen Dank an die Mitwirkenden und an diese herausragenden Personen, die Ruby Drills ermöglicht haben:
Ruby Drills ist unter der Apache -Lizenz, Version 2.0, lizenziert. Weitere Informationen finden Sie in der beigefügten Lizenz.