Learn Ruby The Hard Way

Free Online Book: Learn Ruby The Hard Way

“Learn Ruby The Hard Way” is a translation of the original “Learn Python The Hard Way” to teaching Ruby, with the translation done by Rob Sobers. It assumes absolutely no prior programming knowledge and will guide you carefully and slowly through the learning process.


This simple book is meant to get you started in programming. The title says it’s the hard way to learn to write code; but it’s actually not. It’s only the “hard” way because it’s the way people used to teach things. With the help of this book, you will do the incredibly simple things that all programmers need to do to learn a language:

1. Go through each exercise.
2. Type in each sample exactly.
3. Make it run.

That’s it. This will be very difficult at first, but stick with it. If you go through this book, and do each exercise for one or two hours a night, you will have a good foundation for moving onto another book. You might not really learn “programming” from this book, but you will learn the foundation skills you need to start learning the language.

This book’s job is to teach you the three most essential skills that a beginning programmer needs to know: Reading and Writing, Attention to Detail, Spotting Differences.

Table of Contents

  • The Setup
  • A Good First Program
  • Comments And Pound Characters
  • Numbers And Math
  • Variables And Names
  • More Variables And Printing
  • Strings And Text
  • More Printing
  • Printing, Printing
  • Printing, Printing, Printing
  • What Was That?
  • Asking Questions
  • Libraries
  • Parameters, Unpacking, Variables
  • Prompting And Passing
  • Reading Files
  • Reading And Writing Files
  • More Files
  • Names, Variables, Code, Functions
  • Functions And Variables
  • Functions And Files
  • Functions Can Return Something
  • What Do You Know So Far?
  • Read Some Code
  • More Practice
  • Even More Practice
  • Congratulations, Take A Test!
  • Memorizing Logic
  • Boolean Practice
  • What If
  • Else And If
  • Making Decisions
  • Loops And Arrays
  • While Loops
  • Accessing Elements Of Arrays
  • Branches and Functions
  • Designing and Debugging
  • Symbol Review
  • Reading Code
  • Doing Things To Arrays
  • Dictionaries, Oh Lovely Dictionaries
  • Gothons From Planet Percal #25
  • Gothons Are Getting Classy
  • You Make A Game
  • Evaluating Your Game
  • Is-A, Has-A, Objects, and Classes
  • A Project Skeleton
  • Automated Testing
  • Advanced User Input
  • Making Sentences
  • Your First Website
  • Getting Input From A Browser
  • The Start Of Your Web Game
  • Advice From An Old Programmer

Book Details

Author(s): Rob Sobers
Format(s): HTML
Link: Read online.

Leave a Reply