An edition of Learn Ruby the Hard Way (2014)

Learn Ruby the Hard Way

a simple and idiomatic introduction to the imaginative world of computational thinking with code

3rd ed.
  • 2 Want to read

My Reading Lists:

Create a new list

  • 2 Want to read

Buy this book

Last edited by bitnapper
December 4, 2025 | History
An edition of Learn Ruby the Hard Way (2014)

Learn Ruby the Hard Way

a simple and idiomatic introduction to the imaginative world of computational thinking with code

3rd ed.
  • 2 Want to read

You will learn Ruby! Zed Shaw has perfected the world's best system for learning Ruby. Follow it and you will succeed -- just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Ruby the Hard Way, Third Edition, you'll learn Ruby by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you'll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Ruby software of your own: Installing your Ruby environment; Organizing and writing code; Ruby symbols and keywords; Basic mathematics; Variables and printing; Strings and text; Interacting with users; Working with files; Using and creating functions; Looping and logic; Arrays and elements; Hashmaps; Program design; Object-oriented programming; Inheritance and composition; Modules, classes, and objects; Project "skeleton" directories; Debugging and automated testing; Advanced user input; Text processing; Basic game development; Basic web development. It'll be hard at first. But soon, you'll just get it -- and that will feel great! This tutorial will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Ruby programmer. Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Ruby video course! - Publisher.

Publish Date
Language
English
Pages
336

Buy this book

Previews available in: English

Edition Availability
Cover of: Learn Ruby the Hard Way
Learn Ruby the Hard Way: a simple and idiomatic introduction to the imaginative world of computational thinking with code
2014, Addison-Wesley Professional, Addison-Wesley
Paperback in English - 3rd ed.

Add another edition?

Book Details


Table of Contents

The Hard Way Is Easier
Reading and Writing
Attention to Detail
Spotting Differences
Do Not Copy-Paste
Using the Included Videos
A Note on Practice and Persistence
A Warning for the Smarties
Exercise 0: The Setup
Mac OS X
Windows
Linux
Finding Things on the Internet
Warnings for Beginners
Exercise 1: A Good First Program
What You Should See
Study Drills
Common Student Questions
Exercise 2: Comments and Pound Characters
What You Should See
Study Drills
Common Student Questions
Exercise 3: Numbers and Math
What You Should See
Study Drills
Common Student Questions
Exercise 4: Variables and Names
What You Should See
Study Drills
Common Student Questions
Exercise 5: More Variables and Printing
What You Should See
Study Drills
Common Student Questions
Exercise 6: Strings and Text
What You Should See
Study Drills
Common Student Question
Exercise 7: More Printing
What You Should See
Study Drills
Common Student Questions
Exercise 8: Printing, Printing
What You Should See
Study Drills
Common Student Questions
Exercise 9: Printing, Printing, Printing
What You Should See
Study Drills
Common Student Questions
Exercise 10: What Was That?
What You Should See
Escape Sequences
Study Drills
Common Student Questions
Exercise 11: Asking Questions
What You Should See
Study Drills
Common Student Question
Exercise 12: Prompting People for Numbers
What You Should See
Study Drills
Exercise 13: Parameters, Unpacking, Variables
What You Should See
Study Drills
Common Student Questions
Exercise 14: Prompting and Passing
What You Should See
Study Drills
Common Student Questions
Exercise 15: Reading Files
What You Should See
Study Drills
Common Student Questions
Exercise 16: Reading and Writing Files
What You Should See
Study Drills
Common Student Questions
Exercise 17: More Files
What You Should See
Study Drills
Common Student Questions
Exercise 18: Names, Variables, Code, Functions
What You Should See
Study Drills
Common Student Questions
Exercise 19: Functions and Variables
What You Should See
Study Drills
Common Student Questions
Exercise 20: Functions and Files
What You Should See
Study Drills
Common Student Questions
Exercise 21: Functions Can Return Something
What You Should See
Study Drills
Common Student Questions
Exercise 22: What Do You Know So Far?
What You Are Learning
Exercise 23: Read Some Code
Exercise 24: More Practice
What You Should See
Study Drills
Common Student Questions
Exercise 25: Even More Practice
What You Should See
Study Drills
Common Student Questions
Exercise 26: Congratulations, Take a Test!
Common Student Questions
Exercise 27: Memorizing Logic
The Truth Terms
The Truth Tables
Common Student Question
Exercise 28: Boolean Practice
What You Should See
Study Drills
Common Student Questions
Exercise 29: What If
What You Should See
Study Drills
Common Student Question
Exercise 30: Else and If
What You Should See
Study Drills
Common Student Question
Exercise 31: Making Decisions
What You Should See
Study Drills
Common Student Questions
Exercise 32: Loops and Arrays
What You Should See
Study Drills
Common Student Questions
Exercise 33: While Loops
What You Should See
Study Drills
Common Student Questions
Exercise 34: Accessing Elements of Arrays
Study Drills
Exercise 35: Branches and Functions
What You Should See
Study Drills
Common Student Questions
Exercise 36: Designing and Debugging
Rules for If-Statements
Rules for Loops
Tips for Debugging
Homework
Exercise 37: Symbol Review
Keywords
Data Types
String Escape Sequences
Operators
Reading Code
Study Drills
Common Student Question
Exercise 38: Doing Things to Arrays
What You Should See
What Arrays Can Do
When to Use Arrays
Study Drills
Common Student Questions
Exercise 39: Hashes, Oh Lovely Hashes
A Hash Example
What You Should See
What Hashes Can Do
Making Your Own Hash Module
The Code Description
Three Levels of Arrays
What You Should See (Again)
When to Use Hashes or Arrays
Study Drills
Common Student Questions
Exercise 40: Modules, Classes, and Objects
Modules Are Like Hashes
What You Should See
Study Drills
Common Student Question
Exercise 41: Learning to Speak Object Oriented
Word Drills
Phrase Drills
Combined Drills
A Reading Test
Practice English to Code
Reading More Code
Common Student Questions
Exercise 42: Is-A, Has-A, Objects, and Classes
How This Looks in Code
Study Drills
Common Student Questions
Exercise 43: Basic Object-Oriented Analysis and Design
The Analysis of a Simple Game Engine
Top Down Versus Bottom Up
The Code for "Gothons from Planet Percal #25"
What You Should See
Study Drills
Common Student Question
Exercise 44: Inheritance Versus Composition
What Is Inheritance?
Composition
When to Use Inheritance or Composition
Study Drills
Common Student Questions
Exercise 45: You Make a Game
Evaluating Your Game
Function Style
Class Style
Code Style
Good Comments
Evaluate Your Game
Exercise 46: A Project Skeleton
Creating the Skeleton Project Directory
Testing Your Setup
Using the Skeleton
Required Quiz
Common Student Questions
Exercise 47: Automated Testing
Writing a Test Case
Testing Guidelines
What You Should See
Study Drills
Common Student Questions
Exercise 48: Advanced User Input
Our Game Lexicon
A Test First Challenge
What You Should Test
Study Drills
Common Student Questions
Exercise 49: Making Sentences
Match and Peek
The Sentence Grammar
A Word on Exceptions
The Parser Code
Playing with the Parser
What You Should Test
Study Drills
Common Student Question
Exercise 50: Your First Website
Installing Sinatra
Make a Simple "Hello World" Project
What's Happening Here?
Stopping and Reloading Sinatra
Fixing Errors
Create Basic Templates
Study Drills
Common Student Questions
Exercise 51: Getting Input from a Browser
How the Web Works
How Forms Work
Creating HTML Forms
Creating a Layout Template
Writing Automated Tests for Forms
Study Drills
Common Student Question
Exercise 52: The Start of Your Web Game
Refactoring the Exercise 43 Game
Sessions and Tracking Users
Creating an Engine
Your Final Exam
Next Steps
How to Learn Any Programming Language
Advice from an Old Programmer
Appendix: Command Line Crash Course
Introduction: Shut Up and Shell
The Setup
Paths, Folders, and Directories (pwd)
If You Get Lost
Make a Directory (mkdir)
Change Directory (cd)
List Directory (ls)
Remove Directory (rmdir)
Moving Around (pushd, popd)
Making Empty Files (Touch, New-Item)
Copy a File (cp)
Moving a File (mv)
View a File (less, MORE)
Stream a File (cat)
Removing a File (rm)
Exiting Your Terminal (exit)
Command Line Next Steps

Edition Notes

Published in
Upper Saddle River, NJ
Series
Zed Shaw's Hard Way Series

Classifications

Library of Congress
QA76.73.R83, QA76.73.R83 S536 2014, QA76.73.R83 S536 2015

The Physical Object

Format
Paperback
Number of pages
336

Edition Identifiers

Open Library
OL25649164M
ISBN 10
032188499X
ISBN 13
9780321884992
LCCN
2014033534
OCLC/WorldCat
900505582, 897934088

Work Identifiers

Work ID
OL17079253W

Community Reviews (0)

No community reviews have been submitted for this work.

Lists

History

Download catalog record: RDF / JSON
December 4, 2025 Edited by bitnapper merge authors
August 13, 2024 Edited by MARC Bot import existing book
August 3, 2020 Edited by ImportBot import existing book
July 18, 2019 Edited by MARC Bot import existing book
January 8, 2015 Created by Bryan Tyson Added new book.