43,046
students have developed their Ruby skills on Exercism.

Students
43,046
Submissions
939,507
Mentoring Discussions
34,402

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
6,151 learnt
In
Instance Variables
4,251 learnt
Ni
Nil
4,251 learnt
Bo
Booleans
3,525 learnt
St
Strings
3,908 learnt
Co
Conditionals
2,727 learnt
Fl
Floating Point Numbers
2,727 learnt
Nu
Numbers
2,727 learnt
Lo
Loops
1,975 learnt
Mo
Modules
1,975 learnt
Ar
Arrays
2,011 learnt
En
Enumeration
2,011 learnt
Ad
Advanced Enumeration
1,608 learnt
Os
Ostruct
1,297 learnt
Mu
Multiple Assignment and Decomposition
68 learnt
Te
Ternary operator
1,323 learnt
Ra
Raising Exceptions
1,947 learnt
12 active learning exercises
Started
Attempts
Completions
Mentoring requests
Lasagna Lasagna
7,880
43,372 (avg. 5.5)
6,151 (78.1%)
61 (0.8%)
Amusement Park Amusement Park
4,582
22,680 (avg. 4.9)
4,251 (92.8%)
38 (0.8%)
Amusement Park Improvements Amusement Park Improvements
3,695
24,127 (avg. 6.5)
3,525 (95.4%)
30 (0.8%)
Log line Parser Log line Parser
4,688
58,727 (avg. 12.5)
3,908 (83.4%)
88 (1.9%)
Assembly Line Assembly Line
2,904
23,484 (avg. 8.1)
2,727 (93.9%)
36 (1.2%)
Savings Account Savings Account
2,270
34,294 (avg. 15.1)
1,975 (87.0%)
39 (1.7%)
Bird Count Bird Count
2,091
16,320 (avg. 7.8)
2,011 (96.2%)
27 (1.3%)
Boutique Inventory Boutique Inventory
1,727
32,691 (avg. 18.9)
1,608 (93.1%)
32 (1.9%)
Boutique Inventory Improvements Boutique Inventory Improvements
1,445
14,368 (avg. 9.9)
1,297 (89.8%)
20 (1.4%)
Locomotive Engineer Locomotive Engineer
88
662 (avg. 7.5)
68 (77.3%)
1 (1.1%)
Moviegoer Moviegoer
1,350
9,490 (avg. 7.0)
1,323 (98.0%)
16 (1.2%)
Simple Calculator Simple Calculator
2,668
48,055 (avg. 18.0)
1,947 (73.0%)
63 (2.4%)

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
786,652
Test Run Pass Rate
25.7% (201789)
Test Run Fail Rate
62.4% (490749)
Test Run Error Rate
12.0% (94114)

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
82,408
Total Analysis Comments Made
2,962
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
82,410
Total Representation Comments Made
16,688
Feedback Given Frequency
20.2%

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
26,729
39,395 (avg. 1.5)
23,481 (87.8%)
112 (0.4%)
Two Fer Two Fer
10,057
30,881 (avg. 3.1)
8,066 (80.2%)
3,751 (37.3%)
Resistor Color Duo Resistor Color Duo
4,925
16,823 (avg. 3.4)
3,863 (78.4%)
1,577 (32.0%)
Acronym Acronym
6,354
23,348 (avg. 3.7)
5,186 (81.6%)
2,130 (33.5%)
High Scores High Scores
4,274
13,104 (avg. 3.1)
3,534 (82.7%)
1,369 (32.0%)
Matrix Matrix
3,871
15,936 (avg. 4.1)
3,014 (77.9%)
1,142 (29.5%)
Series Series
3,868
13,276 (avg. 3.4)
3,226 (83.4%)
835 (21.6%)
Word Count Word Count
5,566
22,366 (avg. 4.0)
4,603 (82.7%)
1,977 (35.5%)
Hamming Hamming
11,696
25,539 (avg. 2.2)
10,987 (93.9%)
3,335 (28.5%)
Raindrops Raindrops
7,433
17,703 (avg. 2.4)
7,010 (94.3%)
1,396 (18.8%)
Isogram Isogram
2,914
14,986 (avg. 5.1)
2,507 (86.0%)
603 (20.7%)
Scrabble Score Scrabble Score
2,475
12,608 (avg. 5.1)
2,116 (85.5%)
512 (20.7%)
Luhn Luhn
2,205
16,731 (avg. 7.6)
1,585 (71.9%)
358 (16.2%)
Clock Clock
2,140
14,217 (avg. 6.6)
1,581 (73.9%)
367 (17.1%)
Twelve Days Twelve Days
1,618
6,680 (avg. 4.1)
1,119 (69.2%)
232 (14.3%)
Tournament Tournament
2,064
25,298 (avg. 12.3)
1,004 (48.6%)
200 (9.7%)
Gigasecond Gigasecond
10,351
14,066 (avg. 1.4)
9,269 (89.5%)
1,162 (11.2%)
Resistor Color Resistor Color
1,956
4,010 (avg. 2.1)
1,681 (85.9%)
103 (5.3%)
RNA Transcription RNA Transcription
8,575
17,930 (avg. 2.1)
8,033 (93.7%)
1,605 (18.7%)
Leap Leap
5,056
9,377 (avg. 1.9)
4,446 (87.9%)
695 (13.7%)
Pangram Pangram
4,729
10,543 (avg. 2.2)
4,341 (91.8%)
612 (12.9%)
Space Age Space Age
2,178
6,420 (avg. 2.9)
1,844 (84.7%)
229 (10.5%)
Triangle Triangle
1,545
6,265 (avg. 4.1)
1,285 (83.2%)
125 (8.1%)
Difference of Squares Difference of Squares
5,828
10,165 (avg. 1.7)
5,565 (95.5%)
928 (15.9%)
Anagram Anagram
2,233
7,048 (avg. 3.2)
1,984 (88.8%)
703 (31.5%)
Sum of Multiples Sum of Multiples
2,201
6,573 (avg. 3.0)
1,857 (84.4%)
134 (6.1%)
Transpose Transpose
806
7,861 (avg. 9.8)
444 (55.1%)
26 (3.2%)
Armstrong Numbers Armstrong Numbers
970
3,086 (avg. 3.2)
800 (82.5%)
18 (1.9%)
Flatten Array Flatten Array
2,202
4,186 (avg. 1.9)
1,680 (76.3%)
107 (4.9%)
Phone Number Phone Number
2,062
8,809 (avg. 4.3)
1,719 (83.4%)
151 (7.3%)
Grains Grains
3,463
6,527 (avg. 1.9)
3,164 (91.4%)
623 (18.0%)
Resistor Color Trio Resistor Color Trio
494
2,853 (avg. 5.8)
389 (78.7%)
14 (2.8%)
Saddle Points Saddle Points
742
2,544 (avg. 3.4)
588 (79.2%)
23 (3.1%)
ETL ETL
1,706
3,069 (avg. 1.8)
1,515 (88.8%)
119 (7.0%)
Nucleotide Count Nucleotide Count
1,265
4,222 (avg. 3.3)
1,090 (86.2%)
268 (21.2%)
Pythagorean Triplet Pythagorean Triplet
626
2,891 (avg. 4.6)
435 (69.5%)
17 (2.7%)
Collatz Conjecture Collatz Conjecture
741
2,206 (avg. 3.0)
582 (78.5%)
23 (3.1%)
Sieve Sieve
3,306
6,416 (avg. 1.9)
3,053 (92.3%)
282 (8.5%)
Proverb Proverb
822
3,113 (avg. 3.8)
674 (82.0%)
93 (11.3%)
Palindrome Products Palindrome Products
777
2,695 (avg. 3.5)
505 (65.0%)
25 (3.2%)
Bob Bob
4,711
13,728 (avg. 2.9)
4,271 (90.7%)
3,158 (67.0%)
Nth Prime Nth Prime
2,801
5,741 (avg. 2.0)
2,528 (90.3%)
242 (8.6%)
Perfect Numbers Perfect Numbers
422
1,078 (avg. 2.6)
330 (78.2%)
8 (1.9%)
Alphametics Alphametics
774
2,104 (avg. 2.7)
298 (38.5%)
22 (2.8%)
Binary Search Binary Search
539
1,549 (avg. 2.9)
387 (71.8%)
18 (3.3%)
Two Bucket Two Bucket
546
1,675 (avg. 3.1)
187 (34.2%)
13 (2.4%)
Matching Brackets Matching Brackets
632
1,959 (avg. 3.1)
428 (67.7%)
20 (3.2%)
All Your Base All Your Base
399
1,538 (avg. 3.9)
246 (61.7%)
2 (0.5%)
Scale Generator Scale Generator
426
1,190 (avg. 2.8)
217 (50.9%)
9 (2.1%)
Allergies Allergies
472
1,257 (avg. 2.7)
359 (76.1%)
17 (3.6%)
Rail Fence Cipher Rail Fence Cipher
510
1,149 (avg. 2.3)
275 (53.9%)
7 (1.4%)
Run-Length Encoding Run-Length Encoding
1,501
3,445 (avg. 2.3)
1,235 (82.3%)
80 (5.3%)
Minesweeper Minesweeper
390
1,354 (avg. 3.5)
245 (62.8%)
4 (1.0%)
Robot Simulator Robot Simulator
482
1,474 (avg. 3.1)
338 (70.1%)
19 (3.9%)
Beer Song Beer Song
1,365
5,067 (avg. 3.7)
1,088 (79.7%)
174 (12.7%)
Protein Translation Protein Translation
483
2,750 (avg. 5.7)
368 (76.2%)
17 (3.5%)
Wordy Wordy
550
3,199 (avg. 5.8)
383 (69.6%)
22 (4.0%)
Secret Handshake Secret Handshake
480
1,135 (avg. 2.4)
357 (74.4%)
16 (3.3%)
Atbash Cipher Atbash Cipher
573
2,628 (avg. 4.6)
466 (81.3%)
17 (3.0%)
Crypto Square Crypto Square
823
2,604 (avg. 3.2)
638 (77.5%)
23 (2.8%)
List Ops List Ops
444
2,239 (avg. 5.0)
269 (60.6%)
4 (0.9%)
Robot Name Robot Name
2,712
4,740 (avg. 1.7)
2,369 (87.4%)
484 (17.8%)
Simple Cipher Simple Cipher
464
2,027 (avg. 4.4)
302 (65.1%)
17 (3.7%)
Dominoes Dominoes
243
892 (avg. 3.7)
105 (43.2%)
6 (2.5%)
Pig Latin Pig Latin
440
1,714 (avg. 3.9)
311 (70.7%)
15 (3.4%)
Simple Linked List Simple Linked List
558
3,164 (avg. 5.7)
364 (65.2%)
24 (4.3%)
Binary Search Tree Binary Search Tree
1,043
2,303 (avg. 2.2)
736 (70.6%)
87 (8.3%)
Change Change
364
2,105 (avg. 5.8)
159 (43.7%)
11 (3.0%)
Circular Buffer Circular Buffer
358
1,032 (avg. 2.9)
258 (72.1%)
14 (3.9%)
Grade School Grade School
1,836
3,180 (avg. 1.7)
1,525 (83.1%)
212 (11.5%)
Roman Numerals Roman Numerals
3,620
6,345 (avg. 1.8)
3,264 (90.2%)
314 (8.7%)
Rotational Cipher Rotational Cipher
364
2,039 (avg. 5.6)
279 (76.6%)
8 (2.2%)
Affine Cipher Affine Cipher
278
1,207 (avg. 4.3)
157 (56.5%)
6 (2.2%)
Kindergarten Garden Kindergarten Garden
420
1,966 (avg. 4.7)
301 (71.7%)
11 (2.6%)
Largest Series Product Largest Series Product
377
1,275 (avg. 3.4)
297 (78.8%)
7 (1.9%)
Prime Factors Prime Factors
1,157
2,106 (avg. 1.8)
1,020 (88.2%)
57 (4.9%)
Custom Set Custom Set
300
687 (avg. 2.3)
211 (70.3%)
7 (2.3%)
House House
463
1,193 (avg. 2.6)
354 (76.5%)
23 (5.0%)
Linked List Linked List
401
690 (avg. 1.7)
268 (66.8%)
19 (4.7%)
Poker Poker
290
568 (avg. 2.0)
127 (43.8%)
11 (3.8%)
ISBN Verifier ISBN Verifier
505
2,966 (avg. 5.9)
359 (71.1%)
11 (2.2%)
Complex Numbers Complex Numbers
267
843 (avg. 3.2)
159 (59.6%)
6 (2.2%)
Meetup Meetup
1,561
5,680 (avg. 3.6)
619 (39.7%)
50 (3.2%)
Diamond Diamond
480
3,112 (avg. 6.5)
297 (61.9%)
17 (3.5%)
Bowling Bowling
979
6,437 (avg. 6.6)
486 (49.6%)
38 (3.9%)
OCR Numbers OCR Numbers
307
713 (avg. 2.3)
219 (71.3%)
4 (1.3%)
Say Say
525
1,284 (avg. 2.4)
367 (69.9%)
11 (2.1%)
Zipper Zipper
207
433 (avg. 2.1)
85 (41.1%)
1 (0.5%)
Grep Grep
314
1,631 (avg. 5.2)
146 (46.5%)
2 (0.6%)
Food Chain Food Chain
835
1,388 (avg. 1.7)
715 (85.6%)
49 (5.9%)
Pascal's Triangle Pascal's Triangle
281
545 (avg. 1.9)
208 (74.0%)
7 (2.5%)
Queen Attack Queen Attack
556
1,302 (avg. 2.3)
426 (76.6%)
19 (3.4%)
Book Store Book Store
417
1,986 (avg. 4.8)
136 (32.6%)
4 (1.0%)
Connect Connect
274
879 (avg. 3.2)
112 (40.9%)
6 (2.2%)
Microwave Microwave
1,514
10,848 (avg. 7.2)
729 (48.2%)
46 (3.0%)
Darts Darts
709
1,966 (avg. 2.8)
544 (76.7%)
24 (3.4%)
7 deprecated practice exercises
Started
Attempts
Completions
Mentoring requests
Accumulate Accumulate
1,813
3,321 (avg. 1.8)
1,570 (86.6%)
172 (9.5%)
Binary Binary
1,354
1,985 (avg. 1.5)
1,257 (92.8%)
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,267 (avg. 1.6)
1,171 (84.8%)
96 (7.0%)
Trinary Trinary
785
1,055 (avg. 1.3)
745 (94.9%)
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