45,571
students have developed their Ruby skills on Exercism.

Students
45,571
Submissions
1,085,617
Mentoring Discussions
34,628

The Ruby track is healthy ✅

Building

Build

Use your knowledge to build the Ruby track itself

Create the Ruby syllabus

Learn More

Help create the track syllabus: is a set of concepts and learning exercises put together to teach foundational elements of the programming language.

Next goal: Create a complete syllabus with at least 20 concepts. Find out more.

Usage statistics

17 concepts being taught
Ba
Basics
7,431 learnt
In
Instance Variables
5,141 learnt
Ni
Nil
5,141 learnt
Bo
Booleans
4,291 learnt
St
Strings
4,743 learnt
Co
Conditionals
3,333 learnt
Fl
Floating Point Numbers
3,333 learnt
Nu
Numbers
3,333 learnt
Lo
Loops
2,389 learnt
Mo
Modules
2,389 learnt
Ar
Arrays
2,442 learnt
En
Enumeration
2,442 learnt
Ad
Advanced Enumeration
1,957 learnt
Os
Ostruct
1,591 learnt
Mu
Multiple Assignment and Decomposition
350 learnt
Te
Ternary operator
1,576 learnt
Ra
Raising Exceptions
2,353 learnt
12 active learning exercises
Started
Attempts
Completions
Mentoring requests
Lasagna Lasagna
9,534
52,563 (avg. 5.5)
7,431 (77.9%)
71 (0.7%)
Amusement Park Amusement Park
5,532
27,372 (avg. 4.9)
5,141 (92.9%)
44 (0.8%)
Amusement Park Improvements Amusement Park Improvements
4,479
28,566 (avg. 6.4)
4,291 (95.8%)
34 (0.8%)
Log line Parser Log line Parser
5,667
69,957 (avg. 12.3)
4,743 (83.7%)
103 (1.8%)
Assembly Line Assembly Line
3,547
28,219 (avg. 8.0)
3,333 (94.0%)
40 (1.1%)
Savings Account Savings Account
2,748
40,654 (avg. 14.8)
2,389 (86.9%)
42 (1.5%)
Bird Count Bird Count
2,538
19,838 (avg. 7.8)
2,442 (96.2%)
28 (1.1%)
Boutique Inventory Boutique Inventory
2,100
38,852 (avg. 18.5)
1,957 (93.2%)
36 (1.7%)
Boutique Inventory Improvements Boutique Inventory Improvements
1,755
17,261 (avg. 9.8)
1,591 (90.7%)
23 (1.3%)
Locomotive Engineer Locomotive Engineer
416
4,510 (avg. 10.8)
350 (84.1%)
7 (1.7%)
Moviegoer Moviegoer
1,608
11,216 (avg. 7.0)
1,576 (98.0%)
16 (1.0%)
Simple Calculator Simple Calculator
3,192
56,781 (avg. 17.8)
2,353 (73.7%)
73 (2.3%)

Build Test Runners

Learn More

Create Test Runners that have the single responsibility of taking a solution, running all tests and returning a standardized output.

Next goal: Get Test Runners to Version 3. Ruby is currently utilising a Version 2 Test Runner. Find out more.

Usage statistics

Total Test Runner Runs
932,881
Test Run Pass Rate
24.1% (224948)
Test Run Fail Rate
63.7% (594337)
Test Run Error Rate
12.2% (113596)

Build Analyzers

Learn More

Build an Analyzer for Ruby: Exercism's analyzers automatically assess student's submissions and provide mentor-style commentary.

Usage statistics

Total Analyzer Runs
100,254
Total Analysis Comments Made
3,665
Feedback Given Frequency
0.3%

Build Representers

Learn More

Build a Representer: a bit of code that has the single responsibility of taking a solution and returning a normalized representation of it.

Usage statistics

Total Representer Runs
100,264
Total Representation Comments Made
20,557
Feedback Given Frequency
20.5%

Create Practice Exercises

Learn More

Practice Exercises are exercises designed to allow students to solve an arbitrary problem, with the aim of them making use of the concepts they have learned so far.

Next goal: Implement 129 practice exercises. Find out more.

Usage statistics

96 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
28,973
44,466 (avg. 1.5)
25,462 (87.9%)
112 (0.4%)
Two Fer Two Fer
10,597
35,114 (avg. 3.3)
8,545 (80.6%)
3,769 (35.6%)
Resistor Color Duo Resistor Color Duo
5,146
19,080 (avg. 3.7)
4,076 (79.2%)
1,581 (30.7%)
Acronym Acronym
6,683
26,065 (avg. 3.9)
5,497 (82.3%)
2,137 (32.0%)
High Scores High Scores
4,472
14,511 (avg. 3.2)
3,723 (83.3%)
1,371 (30.7%)
Matrix Matrix
4,042
18,201 (avg. 4.5)
3,155 (78.1%)
1,145 (28.3%)
Series Series
4,014
15,148 (avg. 3.8)
3,360 (83.7%)
837 (20.9%)
Word Count Word Count
5,750
25,049 (avg. 4.4)
4,745 (82.5%)
1,985 (34.5%)
Hamming Hamming
11,833
26,597 (avg. 2.2)
11,120 (94.0%)
3,341 (28.2%)
Raindrops Raindrops
7,606
18,940 (avg. 2.5)
7,170 (94.3%)
1,400 (18.4%)
Isogram Isogram
3,162
17,401 (avg. 5.5)
2,728 (86.3%)
609 (19.3%)
Scrabble Score Scrabble Score
2,613
13,791 (avg. 5.3)
2,244 (85.9%)
521 (19.9%)
Luhn Luhn
2,369
20,049 (avg. 8.5)
1,724 (72.8%)
363 (15.3%)
Clock Clock
2,281
16,588 (avg. 7.3)
1,681 (73.7%)
372 (16.3%)
Twelve Days Twelve Days
1,719
7,475 (avg. 4.3)
1,200 (69.8%)
233 (13.6%)
Tournament Tournament
2,305
29,602 (avg. 12.8)
1,112 (48.2%)
215 (9.3%)
Gigasecond Gigasecond
10,431
14,323 (avg. 1.4)
9,350 (89.6%)
1,162 (11.1%)
Resistor Color Resistor Color
2,055
4,489 (avg. 2.2)
1,776 (86.4%)
105 (5.1%)
RNA Transcription RNA Transcription
8,748
19,015 (avg. 2.2)
8,185 (93.6%)
1,610 (18.4%)
Leap Leap
5,167
9,851 (avg. 1.9)
4,550 (88.1%)
696 (13.5%)
Pangram Pangram
4,844
11,339 (avg. 2.3)
4,449 (91.8%)
614 (12.7%)
Space Age Space Age
2,277
7,044 (avg. 3.1)
1,925 (84.5%)
232 (10.2%)
Triangle Triangle
1,635
7,177 (avg. 4.4)
1,369 (83.7%)
127 (7.8%)
Difference of Squares Difference of Squares
5,908
10,603 (avg. 1.8)
5,643 (95.5%)
929 (15.7%)
Anagram Anagram
2,314
7,632 (avg. 3.3)
2,054 (88.8%)
707 (30.6%)
Sum of Multiples Sum of Multiples
2,283
7,474 (avg. 3.3)
1,927 (84.4%)
135 (5.9%)
Transpose Transpose
884
10,244 (avg. 11.6)
493 (55.8%)
27 (3.1%)
Armstrong Numbers Armstrong Numbers
1,040
3,612 (avg. 3.5)
866 (83.3%)
19 (1.8%)
Flatten Array Flatten Array
2,288
4,609 (avg. 2.0)
1,769 (77.3%)
107 (4.7%)
Phone Number Phone Number
2,159
10,435 (avg. 4.8)
1,786 (82.7%)
154 (7.1%)
Grains Grains
3,508
6,849 (avg. 2.0)
3,212 (91.6%)
625 (17.8%)
Resistor Color Trio Resistor Color Trio
544
3,381 (avg. 6.2)
434 (79.8%)
16 (2.9%)
Saddle Points Saddle Points
786
2,974 (avg. 3.8)
628 (79.9%)
25 (3.2%)
ETL ETL
1,754
3,283 (avg. 1.9)
1,559 (88.9%)
120 (6.8%)
Nucleotide Count Nucleotide Count
1,312
4,759 (avg. 3.6)
1,132 (86.3%)
269 (20.5%)
Pythagorean Triplet Pythagorean Triplet
671
3,470 (avg. 5.2)
468 (69.7%)
19 (2.8%)
Collatz Conjecture Collatz Conjecture
798
2,666 (avg. 3.3)
636 (79.7%)
24 (3.0%)
Sieve Sieve
3,349
6,776 (avg. 2.0)
3,090 (92.3%)
282 (8.4%)
Proverb Proverb
851
3,332 (avg. 3.9)
700 (82.3%)
93 (10.9%)
Palindrome Products Palindrome Products
808
3,087 (avg. 3.8)
526 (65.1%)
25 (3.1%)
Bob Bob
4,764
14,644 (avg. 3.1)
4,314 (90.6%)
3,159 (66.3%)
Nth Prime Nth Prime
2,831
6,136 (avg. 2.2)
2,559 (90.4%)
242 (8.5%)
Perfect Numbers Perfect Numbers
452
1,309 (avg. 2.9)
358 (79.2%)
9 (2.0%)
Alphametics Alphametics
822
2,429 (avg. 3.0)
310 (37.7%)
24 (2.9%)
Binary Search Binary Search
562
1,791 (avg. 3.2)
407 (72.4%)
18 (3.2%)
Two Bucket Two Bucket
603
2,316 (avg. 3.8)
202 (33.5%)
13 (2.2%)
Matching Brackets Matching Brackets
662
2,188 (avg. 3.3)
453 (68.4%)
21 (3.2%)
All Your Base All Your Base
434
2,218 (avg. 5.1)
274 (63.1%)
3 (0.7%)
Scale Generator Scale Generator
456
1,465 (avg. 3.2)
236 (51.8%)
9 (2.0%)
Allergies Allergies
494
1,685 (avg. 3.4)
379 (76.7%)
18 (3.6%)
Rail Fence Cipher Rail Fence Cipher
524
1,531 (avg. 2.9)
286 (54.6%)
7 (1.3%)
Run-Length Encoding Run-Length Encoding
1,523
4,039 (avg. 2.7)
1,255 (82.4%)
81 (5.3%)
Minesweeper Minesweeper
409
1,498 (avg. 3.7)
261 (63.8%)
4 (1.0%)
Robot Simulator Robot Simulator
494
1,650 (avg. 3.3)
349 (70.6%)
19 (3.8%)
Beer Song Beer Song
1,401
5,610 (avg. 4.0)
1,118 (79.8%)
174 (12.4%)
Protein Translation Protein Translation
509
3,110 (avg. 6.1)
389 (76.4%)
17 (3.3%)
Wordy Wordy
581
3,646 (avg. 6.3)
405 (69.7%)
22 (3.8%)
Secret Handshake Secret Handshake
495
1,733 (avg. 3.5)
370 (74.7%)
16 (3.2%)
Atbash Cipher Atbash Cipher
590
2,819 (avg. 4.8)
481 (81.5%)
17 (2.9%)
Crypto Square Crypto Square
856
2,912 (avg. 3.4)
656 (76.6%)
24 (2.8%)
List Ops List Ops
478
2,561 (avg. 5.4)
290 (60.7%)
5 (1.0%)
Robot Name Robot Name
2,733
4,759 (avg. 1.7)
2,381 (87.1%)
486 (17.8%)
Simple Cipher Simple Cipher
492
2,535 (avg. 5.2)
317 (64.4%)
18 (3.7%)
Dominoes Dominoes
258
1,178 (avg. 4.6)
117 (45.3%)
6 (2.3%)
Pig Latin Pig Latin
457
2,414 (avg. 5.3)
323 (70.7%)
15 (3.3%)
Simple Linked List Simple Linked List
589
3,607 (avg. 6.1)
388 (65.9%)
24 (4.1%)
Binary Search Tree Binary Search Tree
1,063
2,736 (avg. 2.6)
752 (70.7%)
87 (8.2%)
Change Change
376
2,543 (avg. 6.8)
168 (44.7%)
11 (2.9%)
Circular Buffer Circular Buffer
373
1,254 (avg. 3.4)
272 (72.9%)
16 (4.3%)
Grade School Grade School
1,846
3,507 (avg. 1.9)
1,533 (83.0%)
212 (11.5%)
Roman Numerals Roman Numerals
3,642
6,574 (avg. 1.8)
3,284 (90.2%)
315 (8.6%)
Rotational Cipher Rotational Cipher
401
2,534 (avg. 6.3)
307 (76.6%)
9 (2.2%)
Affine Cipher Affine Cipher
290
1,470 (avg. 5.1)
168 (57.9%)
6 (2.1%)
Kindergarten Garden Kindergarten Garden
442
2,506 (avg. 5.7)
319 (72.2%)
11 (2.5%)
Largest Series Product Largest Series Product
394
1,524 (avg. 3.9)
312 (79.2%)
9 (2.3%)
Prime Factors Prime Factors
1,174
2,251 (avg. 1.9)
1,037 (88.3%)
57 (4.9%)
Custom Set Custom Set
311
862 (avg. 2.8)
221 (71.1%)
7 (2.3%)
House House
481
1,429 (avg. 3.0)
366 (76.1%)
27 (5.6%)
Linked List Linked List
417
750 (avg. 1.8)
282 (67.6%)
19 (4.6%)
Poker Poker
306
906 (avg. 3.0)
134 (43.8%)
13 (4.2%)
ISBN Verifier ISBN Verifier
561
3,875 (avg. 6.9)
409 (72.9%)
14 (2.5%)
Complex Numbers Complex Numbers
284
1,141 (avg. 4.0)
172 (60.6%)
6 (2.1%)
Meetup Meetup
1,779
6,732 (avg. 3.8)
681 (38.3%)
60 (3.4%)
Diamond Diamond
540
4,201 (avg. 7.8)
339 (62.8%)
19 (3.5%)
Bowling Bowling
1,047
8,125 (avg. 7.8)
510 (48.7%)
39 (3.7%)
OCR Numbers OCR Numbers
317
818 (avg. 2.6)
227 (71.6%)
4 (1.3%)
Say Say
534
1,549 (avg. 2.9)
374 (70.0%)
11 (2.1%)
Zipper Zipper
219
696 (avg. 3.2)
93 (42.5%)
1 (0.5%)
Grep Grep
336
2,300 (avg. 6.8)
158 (47.0%)
2 (0.6%)
Food Chain Food Chain
847
1,477 (avg. 1.7)
722 (85.2%)
49 (5.8%)
Pascal's Triangle Pascal's Triangle
293
688 (avg. 2.3)
219 (74.7%)
7 (2.4%)
Queen Attack Queen Attack
569
1,357 (avg. 2.4)
435 (76.4%)
19 (3.3%)
Book Store Book Store
437
2,153 (avg. 4.9)
146 (33.4%)
5 (1.1%)
Connect Connect
288
1,056 (avg. 3.7)
124 (43.1%)
7 (2.4%)
Microwave Microwave
1,745
12,828 (avg. 7.4)
827 (47.4%)
51 (2.9%)
Darts Darts
769
2,331 (avg. 3.0)
587 (76.3%)
26 (3.4%)
7 deprecated practice exercises
Started
Attempts
Completions
Mentoring requests
Accumulate Accumulate
1,813
3,323 (avg. 1.8)
1,572 (86.7%)
172 (9.5%)
Binary Binary
1,354
1,985 (avg. 1.5)
1,258 (92.9%)
128 (9.5%)
Hexadecimal Hexadecimal
423
578 (avg. 1.4)
385 (91.0%)
25 (5.9%)
Octal Octal
14
13 (avg. 0.9)
11 (78.6%)
0 (0.0%)
Point Mutations Point Mutations
57
143 (avg. 2.5)
55 (96.5%)
44 (77.2%)
Strain Strain
1,381
2,274 (avg. 1.6)
1,173 (84.9%)
96 (7.0%)
Trinary Trinary
785
1,055 (avg. 1.3)
746 (95.0%)
49 (6.2%)
33 unimplemented practice exercises
Bank Account Bank Account
Bottle Song Bottle Song
D&D Character D&D Character
DOT DSL DOT DSL
Error Handling Error Handling
Forth Forth
Go Counting Go Counting
Hangman Hangman
Killer Sudoku Helper Killer Sudoku Helper
Knapsack Knapsack
Ledger Ledger
Lens Person Lens Person
Markdown Markdown
Micro Blog Micro Blog
POV POV
PaaS I/O PaaS I/O
Parallel Letter Frequency Parallel Letter Frequency
REST API REST API
Rational Numbers Rational Numbers
React React
Rectangles Rectangles
Reverse String Reverse String
SGF Parsing SGF Parsing
Satellite Satellite
Spiral Matrix Spiral Matrix
Square Root Square Root
State of Tic-Tac-Toe State of Tic-Tac-Toe
Sublist Sublist
Tree Building Tree Building
Variable Length Quantity Variable Length Quantity
Word Search Word Search
Yacht Yacht
Zebra Puzzle Zebra Puzzle