Ruby

Join the Ruby Track
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
Join the Ruby Track
Track mentors

116 Mentors

Our mentors are friendly, experienced Ruby developers who will help teach you new techniques and tricks.
Track students

30,989 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

98 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Ruby

class HelloWorld
  def self.hello(name = 'World')
    "Hello, #{name}!"
  end
end

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

Ruby was created as a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.

He has often said that he is "trying to make Ruby natural, not simple," in a way that mirrors life.

Building on this, he adds: "Ruby is simple in appearance, but is very complex inside, just like our human body."

You can read more about the Ruby language on its site.

Join the Ruby track

I loved the Ruby track

I loved the Ruby track (it is the only one I have finished so far). Solving over 80 different problems seems one of the most exciting ways to learn a language one barely knows. Improving my own solutions for readability and beauty rather than just passing the tests and performance taught me a little about Ruby and programming in general. I also liked comparing my solution to other ones - I could see the problem from other points of view.

Relaxed. Encouraging. Supportive.

Meet the Ruby Track mentors

Once you join the Ruby language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Marcos Brizeno

Marcos Brizeno https://github.com/MarcosX

I like to keep learning about languages, tools and anything that make developing software fun!
Avatar of Balaji Raghavan

Balaji Raghavan https://github.com/blj

I love Ruby and have been using it professionally for more than 10 years. I also have been spending time on how to write a easy to read and easy to extend Ruby code. I am new to mentoring and a non-native English speaker. Please excuse my brevity. If my feedback to you is rude, first I am sorry and second it was not my intention. Please do reach out to me, it gives me an opportunity to learn through feedback for mentoring.
Avatar of Mikhail Navrotskiy

Mikhail Navrotskiy https://github.com/nav-mike

I am a backend developer with ruby from 4+ years. I love ruby and spend a lot of time on my projects with ruby.
Avatar of Sean DMR

Sean DMR https://github.com/flyinggrizzly

(He/him pronouns). I've been a Ruby developer for a couple of years (since 2016ish), and I've been helped along immensely by friends and the community--I'm looking forward to paying that back! When I'm not working with code, I'm probably playing or making tabletop RPGs.
Avatar of Yash Kulshrestha

Yash Kulshrestha https://github.com/YashdalfTheGray

I got introduced to Ruby through writing Cucumber tests for a web app. I got addicted to using ruby as I wrote it more and more - it's truly a fun language to write. I use it both for OSS projects and for tooling at work.
Avatar of Aaron Milam

Aaron Milam GitHub

I have worked primarily in Ruby for a few years now. Its ease of learning and versatility make it both a great language to start with and to use in the real world.
Fun. Challenging. Interesting

Community-sourced Ruby exercises

These are a few of the 98 exercises on the Ruby track. You can see all the exercises here.

Affine Cipher
easy
cryptography
strings
math
Robot Simulator
medium
concurrency
loops
sequences
strings
structs
Raindrops
easy
conditionals
filtering
strings
Anagram
medium
filtering
parsing
sorting
strings
Phone Number
easy
strings
conditionals
regular expressions
text formatting
transforming
Difference Of Squares
easy
algorithms
math
Passionate. Knowledgeable. Creative.

Meet the Ruby Track maintainers

The Ruby Maintainers are the brains behind the Ruby Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Hilary Holz

Hilary Holz

25+ years experience as a software engineer, specializing in the web since NCSA HTTPd and Mosaic. Ruby has been my primary language for the past 7 years; it fills me with glee.
Avatar of Pedro Gaspar

Pedro Gaspar

Ruby has been my go-to language for the past 6 years. I love how readable and intuitive it is. I'm thankful for the opportunity to help others on their journey in any way I can and I'm hoping to become a better mentor in the process :)
Avatar of Maud de Vries

Maud de Vries

Ruby and Rails fan

Get started with the Ruby track. As with everything on Exercism, it's 100% free!

Join the Ruby Track