Latihan digunakan dalam olahraga untuk menguasai gerakan tertentu. Dalam bola basket, pemain mengebor lemparan bebas, tiga angka, dan menggiring bola. Dalam pemrograman, latihan menyediakan cara untuk terlibat dalam praktik yang disengaja untuk mengembangkan keterampilan dalam fitur bahasa tertentu, API, atau idiom.
SCRIMMAGE digunakan dalam olahraga untuk meniru kondisi dan kompleksitas permainan untuk mengintegrasikan keterampilan yang dibangun dalam latihan dan mengembangkan kerja tim. Bor melengkapi praktik scrimmage yang lebih kompleks seperti ruby koans, ruby kuis, atau bekerja pada proyek sumber terbuka. Jika kita menggunakan ekspresi Jepang, latihan juga bisa dianggap sebagai 'kihon', prekursor yang lebih sederhana untuk 'kata'. Bor tidak memiliki kompleksitas proyek penuh. Mereka dapat dilakukan sendiri atau dengan teman.
Tantangan dalam bor ruby fokus pada metode tertentu. Jawaban biasanya terdiri dari satu baris. Tujuan Anda adalah untuk menyelesaikan latihan dengan mudah dan gembira, tanpa berkonsultasi dengan dokumentasi eksternal apa pun. Pada awalnya, Anda kemungkinan besar akan menemukan latihan semacam ini tidak mudah atau menyenangkan. Kode di. Berlatihlah selama beberapa hari sampai pengetahuan Anda tentang metode ini menjadi otomatis. Melakukan hal itu akan membuat pemrograman Anda sehari-hari lebih menyenangkan dengan membebaskan pikiran Anda untuk fokus pada kompleksitas tingkat tinggi yang bernilai lebih tinggi daripada sintaksis bahasa.
$ gem install ruby_drills
$ ruby_drills
Latihan dijalankan di baris perintah. Anda menjawab pertanyaan dalam latihan menggunakan repl. Praktik ini memiliki manfaat mempersiapkan Anda untuk mengembangkan di REPL, teknik yang berguna untuk mencoba fitur atau algoritma bahasa dan pelengkap yang bagus untuk TDD.
Mulailah dengan memilih latihan yang tersedia dari menu. Latihan array dan string saat ini memiliki konten terbanyak, jadi mulailah dengan salah satunya!
Sesi bor untuk metode Enumerable#zip mungkin terdiri dari yang berikut:
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:
Pertanyaan tentang latihan Ruby? Ide tentang cara berlatih? Pergilah ke Google Group.
Saat Anda berinteraksi dengan bor ruby, jawaban Anda disimpan dalam API kolektor bor jarak jauh yang di -host oleh pikiran yang diuji. Tidak ada informasi yang dapat diidentifikasi secara pribadi yang termasuk dalam data ini: saat ini, kami tertarik pada pola praktik dan statistik keseluruhan, bukan profil pengguna individu. Data aktivitas terlihat seperti:
{
"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? }"
}
Kami tertarik pada pertanyaan seperti:
Data ini akan membantu kami mengembangkan pengalaman latihan Ruby. Ini juga dapat membentuk dasar dari pengalaman yang lebih personal, memungkinkan Anda untuk meninjau kemajuan Anda dan membandingkan sesi latihan Anda dengan orang lain. Lebih lanjut tentang ini yang akan datang saat kami menganalisis data yang dikumpulkan dan berbagi hasil dengan masyarakat.
Pada akhirnya, kami ingin mengetahui apakah bor dan berlatih dalam bahasa Ruby dan bahasa pemrograman lainnya membantu kami memecahkan tantangan pemrograman yang lebih kompleks. Saat ini ada sangat sedikit data yang tersedia bagi para peneliti untuk membantu menjawab pertanyaan ini secara ilmiah. Mudah -mudahan, data yang dikumpulkan dalam bor ruby dapat memberikan sepotong teka -teki ini.
Setiap bor terdiri dari empat metode:
setup : Inisialisasi variabel instance yang digunakan dalam bor, termasuk @hints , serangkaian petunjuk yang dapat memandu pengguna menuju jawabannya.
show : Menempatkan string yang menggambarkan bor.
reference : Berikan solusi referensi sebagai kode ruby yang valid dalam bentuk string. Ini akan dievaluasi untuk menentukan apakah input pengguna harus divalidasi.
valid?(input) : Fungsi validasi yang mengembalikan benar atau salah. Digunakan untuk melihat apakah input pengguna yang cocok dengan solusi referensi memenuhi kendala lain.
Sangat mudah untuk terlibat dengan membuat latihan baru. Silakan periksa daftar masalah di GitHub untuk menemukan sesuatu untuk dilakukan.
Jika Anda baru mengenal GitHub:
git checkout -b my-new-feature )git commit -am 'Add some feature' )git push origin my-new-feature )Terima kasih kepada para kontributor dan kepada orang -orang yang luar biasa ini untuk memungkinkan bor ruby:
Bor Ruby dilisensikan di bawah lisensi Apache, versi 2.0. Lihat lisensi terlampir.txt dan nater.txt untuk informasi lebih lanjut.