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

Students
45,906
Submissions
1,110,756
Mentoring Discussions
34,679

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,621 learnt
In
Instance Variables
5,285 learnt
Ni
Nil
5,285 learnt
Bo
Booleans
4,410 learnt
St
Strings
4,868 learnt
Co
Conditionals
3,426 learnt
Fl
Floating Point Numbers
3,426 learnt
Nu
Numbers
3,426 learnt
Lo
Loops
2,460 learnt
Mo
Modules
2,460 learnt
Ar
Arrays
2,512 learnt
En
Enumeration
2,512 learnt
Ad
Advanced Enumeration
2,009 learnt
Os
Ostruct
1,636 learnt
Mu
Multiple Assignment and Decomposition
388 learnt
Te
Ternary operator
1,617 learnt
Ra
Raising Exceptions
2,414 learnt
12 active learning exercises
Started
Attempts
Completions
Mentoring requests
Lasagna Lasagna
9,785
54,017 (avg. 5.5)
7,621 (77.9%)
74 (0.8%)
Amusement Park Amusement Park
5,677
28,172 (avg. 5.0)
5,285 (93.1%)
47 (0.8%)
Amusement Park Improvements Amusement Park Improvements
4,605
29,357 (avg. 6.4)
4,410 (95.8%)
37 (0.8%)
Log line Parser Log line Parser
5,813
71,896 (avg. 12.4)
4,868 (83.7%)
105 (1.8%)
Assembly Line Assembly Line
3,644
29,054 (avg. 8.0)
3,426 (94.0%)
42 (1.2%)
Savings Account Savings Account
2,834
42,024 (avg. 14.8)
2,460 (86.8%)
44 (1.6%)
Bird Count Bird Count
2,614
20,467 (avg. 7.8)
2,512 (96.1%)
28 (1.1%)
Boutique Inventory Boutique Inventory
2,166
40,122 (avg. 18.5)
2,009 (92.8%)
36 (1.7%)
Boutique Inventory Improvements Boutique Inventory Improvements
1,807
17,766 (avg. 9.8)
1,636 (90.5%)
23 (1.3%)
Locomotive Engineer Locomotive Engineer
467
5,070 (avg. 10.9)
388 (83.1%)
7 (1.5%)
Moviegoer Moviegoer
1,650
11,503 (avg. 7.0)
1,617 (98.0%)
18 (1.1%)
Simple Calculator Simple Calculator
3,268
58,378 (avg. 17.9)
2,414 (73.9%)
75 (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
957,995
Test Run Pass Rate
23.9% (228960)
Test Run Fail Rate
63.9% (612211)
Test Run Error Rate
12.2% (116824)

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
103,237
Total Analysis Comments Made
3,800
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
103,247
Total Representation Comments Made
21,185
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
29,292
45,081 (avg. 1.5)
25,742 (87.9%)
112 (0.4%)
Two Fer Two Fer
10,693
35,781 (avg. 3.3)
8,625 (80.7%)
3,772 (35.3%)
Resistor Color Duo Resistor Color Duo
5,188
19,530 (avg. 3.8)
4,112 (79.3%)
1,581 (30.5%)
Acronym Acronym
6,732
26,410 (avg. 3.9)
5,537 (82.2%)
2,137 (31.7%)
High Scores High Scores
4,509
14,806 (avg. 3.3)
3,758 (83.3%)
1,371 (30.4%)
Matrix Matrix
4,071
18,686 (avg. 4.6)
3,181 (78.1%)
1,146 (28.2%)
Series Series
4,033
15,357 (avg. 3.8)
3,378 (83.8%)
837 (20.8%)
Word Count Word Count
5,773
25,381 (avg. 4.4)
4,770 (82.6%)
1,986 (34.4%)
Hamming Hamming
11,858
26,751 (avg. 2.3)
11,142 (94.0%)
3,342 (28.2%)
Raindrops Raindrops
7,635
19,259 (avg. 2.5)
7,199 (94.3%)
1,402 (18.4%)
Isogram Isogram
3,203
17,805 (avg. 5.6)
2,762 (86.2%)
611 (19.1%)
Scrabble Score Scrabble Score
2,638
13,945 (avg. 5.3)
2,264 (85.8%)
521 (19.7%)
Luhn Luhn
2,393
20,276 (avg. 8.5)
1,741 (72.8%)
364 (15.2%)
Clock Clock
2,303
16,936 (avg. 7.4)
1,695 (73.6%)
373 (16.2%)
Twelve Days Twelve Days
1,742
7,756 (avg. 4.5)
1,218 (69.9%)
233 (13.4%)
Tournament Tournament
2,352
30,542 (avg. 13.0)
1,136 (48.3%)
218 (9.3%)
Gigasecond Gigasecond
10,449
14,375 (avg. 1.4)
9,366 (89.6%)
1,162 (11.1%)
Resistor Color Resistor Color
2,075
4,580 (avg. 2.2)
1,794 (86.5%)
105 (5.1%)
RNA Transcription RNA Transcription
8,779
19,122 (avg. 2.2)
8,211 (93.5%)
1,611 (18.4%)
Leap Leap
5,189
10,046 (avg. 1.9)
4,566 (88.0%)
696 (13.4%)
Pangram Pangram
4,863
11,476 (avg. 2.4)
4,466 (91.8%)
615 (12.6%)
Space Age Space Age
2,305
7,255 (avg. 3.1)
1,949 (84.6%)
232 (10.1%)
Triangle Triangle
1,656
7,346 (avg. 4.4)
1,389 (83.9%)
127 (7.7%)
Difference of Squares Difference of Squares
5,924
10,661 (avg. 1.8)
5,658 (95.5%)
929 (15.7%)
Anagram Anagram
2,325
7,689 (avg. 3.3)
2,064 (88.8%)
707 (30.4%)
Sum of Multiples Sum of Multiples
2,294
7,673 (avg. 3.3)
1,936 (84.4%)
135 (5.9%)
Transpose Transpose
898
10,595 (avg. 11.8)
500 (55.7%)
27 (3.0%)
Armstrong Numbers Armstrong Numbers
1,054
3,703 (avg. 3.5)
878 (83.3%)
19 (1.8%)
Flatten Array Flatten Array
2,303
4,673 (avg. 2.0)
1,782 (77.4%)
108 (4.7%)
Phone Number Phone Number
2,171
10,654 (avg. 4.9)
1,795 (82.7%)
154 (7.1%)
Grains Grains
3,517
7,053 (avg. 2.0)
3,220 (91.6%)
625 (17.8%)
Resistor Color Trio Resistor Color Trio
555
3,484 (avg. 6.3)
447 (80.5%)
16 (2.9%)
Saddle Points Saddle Points
797
3,034 (avg. 3.8)
635 (79.7%)
25 (3.1%)
ETL ETL
1,763
3,348 (avg. 1.9)
1,567 (88.9%)
120 (6.8%)
Nucleotide Count Nucleotide Count
1,319
4,835 (avg. 3.7)
1,141 (86.5%)
269 (20.4%)
Pythagorean Triplet Pythagorean Triplet
677
3,535 (avg. 5.2)
472 (69.7%)
19 (2.8%)
Collatz Conjecture Collatz Conjecture
813
2,782 (avg. 3.4)
650 (80.0%)
24 (3.0%)
Sieve Sieve
3,362
6,836 (avg. 2.0)
3,099 (92.2%)
282 (8.4%)
Proverb Proverb
858
3,426 (avg. 4.0)
706 (82.3%)
93 (10.8%)
Palindrome Products Palindrome Products
816
3,229 (avg. 4.0)
530 (65.0%)
25 (3.1%)
Bob Bob
4,776
14,779 (avg. 3.1)
4,323 (90.5%)
3,159 (66.1%)
Nth Prime Nth Prime
2,839
6,254 (avg. 2.2)
2,566 (90.4%)
242 (8.5%)
Perfect Numbers Perfect Numbers
455
1,316 (avg. 2.9)
361 (79.3%)
9 (2.0%)
Alphametics Alphametics
834
2,528 (avg. 3.0)
312 (37.4%)
24 (2.9%)
Binary Search Binary Search
567
1,833 (avg. 3.2)
412 (72.7%)
18 (3.2%)
Two Bucket Two Bucket
616
2,444 (avg. 4.0)
205 (33.3%)
13 (2.1%)
Matching Brackets Matching Brackets
667
2,216 (avg. 3.3)
458 (68.7%)
21 (3.1%)
All Your Base All Your Base
442
2,258 (avg. 5.1)
279 (63.1%)
3 (0.7%)
Scale Generator Scale Generator
461
1,472 (avg. 3.2)
238 (51.6%)
9 (2.0%)
Allergies Allergies
501
1,788 (avg. 3.6)
386 (77.0%)
19 (3.8%)
Rail Fence Cipher Rail Fence Cipher
526
1,536 (avg. 2.9)
288 (54.8%)
7 (1.3%)
Run-Length Encoding Run-Length Encoding
1,528
4,061 (avg. 2.7)
1,260 (82.5%)
81 (5.3%)
Minesweeper Minesweeper
411
1,525 (avg. 3.7)
263 (64.0%)
4 (1.0%)
Robot Simulator Robot Simulator
498
1,667 (avg. 3.3)
352 (70.7%)
19 (3.8%)
Beer Song Beer Song
1,406
5,660 (avg. 4.0)
1,121 (79.7%)
174 (12.4%)
Protein Translation Protein Translation
514
3,181 (avg. 6.2)
395 (76.8%)
18 (3.5%)
Wordy Wordy
588
3,717 (avg. 6.3)
409 (69.6%)
22 (3.7%)
Secret Handshake Secret Handshake
497
1,752 (avg. 3.5)
373 (75.1%)
16 (3.2%)
Atbash Cipher Atbash Cipher
595
2,873 (avg. 4.8)
485 (81.5%)
17 (2.9%)
Crypto Square Crypto Square
862
2,929 (avg. 3.4)
658 (76.3%)
24 (2.8%)
List Ops List Ops
485
2,629 (avg. 5.4)
297 (61.2%)
5 (1.0%)
Robot Name Robot Name
2,737
4,763 (avg. 1.7)
2,383 (87.1%)
486 (17.8%)
Simple Cipher Simple Cipher
496
2,549 (avg. 5.1)
319 (64.3%)
18 (3.6%)
Dominoes Dominoes
260
1,190 (avg. 4.6)
119 (45.8%)
6 (2.3%)
Pig Latin Pig Latin
463
2,475 (avg. 5.3)
327 (70.6%)
15 (3.2%)
Simple Linked List Simple Linked List
594
3,787 (avg. 6.4)
392 (66.0%)
24 (4.0%)
Binary Search Tree Binary Search Tree
1,066
2,749 (avg. 2.6)
754 (70.7%)
87 (8.2%)
Change Change
380
2,565 (avg. 6.8)
170 (44.7%)
11 (2.9%)
Circular Buffer Circular Buffer
377
1,278 (avg. 3.4)
275 (72.9%)
16 (4.2%)
Grade School Grade School
1,849
3,527 (avg. 1.9)
1,536 (83.1%)
212 (11.5%)
Roman Numerals Roman Numerals
3,645
6,601 (avg. 1.8)
3,287 (90.2%)
315 (8.6%)
Rotational Cipher Rotational Cipher
409
2,646 (avg. 6.5)
314 (76.8%)
10 (2.4%)
Affine Cipher Affine Cipher
293
1,486 (avg. 5.1)
169 (57.7%)
6 (2.0%)
Kindergarten Garden Kindergarten Garden
447
2,555 (avg. 5.7)
323 (72.3%)
11 (2.5%)
Largest Series Product Largest Series Product
399
1,569 (avg. 3.9)
318 (79.7%)
10 (2.5%)
Prime Factors Prime Factors
1,179
2,281 (avg. 1.9)
1,043 (88.5%)
57 (4.8%)
Custom Set Custom Set
314
936 (avg. 3.0)
224 (71.3%)
7 (2.2%)
House House
485
1,537 (avg. 3.2)
369 (76.1%)
27 (5.6%)
Linked List Linked List
421
751 (avg. 1.8)
283 (67.2%)
19 (4.5%)
Poker Poker
309
909 (avg. 2.9)
135 (43.7%)
13 (4.2%)
ISBN Verifier ISBN Verifier
569
3,948 (avg. 6.9)
417 (73.3%)
15 (2.6%)
Complex Numbers Complex Numbers
290
1,163 (avg. 4.0)
176 (60.7%)
6 (2.1%)
Meetup Meetup
1,825
7,047 (avg. 3.9)
700 (38.4%)
63 (3.5%)
Diamond Diamond
553
4,757 (avg. 8.6)
350 (63.3%)
20 (3.6%)
Bowling Bowling
1,056
8,327 (avg. 7.9)
512 (48.5%)
39 (3.7%)
OCR Numbers OCR Numbers
320
898 (avg. 2.8)
229 (71.6%)
4 (1.3%)
Say Say
537
1,569 (avg. 2.9)
376 (70.0%)
11 (2.0%)
Zipper Zipper
221
701 (avg. 3.2)
95 (43.0%)
1 (0.5%)
Grep Grep
340
2,366 (avg. 7.0)
161 (47.4%)
2 (0.6%)
Food Chain Food Chain
854
1,570 (avg. 1.8)
727 (85.1%)
50 (5.9%)
Pascal's Triangle Pascal's Triangle
298
796 (avg. 2.7)
223 (74.8%)
9 (3.0%)
Queen Attack Queen Attack
571
1,360 (avg. 2.4)
437 (76.5%)
19 (3.3%)
Book Store Book Store
442
2,214 (avg. 5.0)
149 (33.7%)
5 (1.1%)
Connect Connect
291
1,067 (avg. 3.7)
126 (43.3%)
7 (2.4%)
Microwave Microwave
1,777
13,139 (avg. 7.4)
847 (47.7%)
53 (3.0%)
Darts Darts
774
2,353 (avg. 3.0)
592 (76.5%)
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