Learn Ruby the Hard Way: A Good First Program
You should have spent a good amount of time in Exercise 0 learning how to install a text editor, run the text editor, run Terminal, and work with both of them. If you haven’t done that, then do not go on. You will not have a good time. This is the only time I’ll start an exercise with a warning that you should not skip or get ahead of yourself.
Type the following text into a single file named ex1.rb. Ruby works best with files ending in .rb.
ex1.rb
1puts
"Hello World!"
2puts
"Hello Again"
3puts
"I like typing this."
4puts
"This is fun."
5puts
"Yay! Printing."
6puts
"I'd much rather you 'not'."
7puts
'I "said" do not touch this.'
If you are on Mac OS X, then this is what your text editor might look like if you use TextWrangler:
If you are on Windows using Notepad++, then this is what it would look like:
Don’t worry if your editor doesn’t look exactly the same, it should be close though. When you create this file, keep in mind these points:
- I did not type the line numbers on the left. Those are printed in the book so I can talk about specific lines by saying, ”See line 5.” You do not type line numbers into Ruby scripts.
- I have the puts at the beginning of the line and it looks exactly the same as what I have in ex1.rb. Exactly means exactly, not kind of sort of the same. Every single character has to match for it to work. Color doesn’t matter, only the characters you type.
In Terminal run the file by typing:
ruby ex1.rb
If you did it right, then you should see the same output as in the What You Should See section of this exercise. If not, you have done something wrong. No, the computer is not wrong.
What You Should See
On Mac OS X in Terminal you should see this:
On Windows in PowerShell you should see this:
You may see different names before the ruby ex1.rb command, but the important part is that you type the command and see the output is the same as mine.
If you have an error, it will look like this:
> ruby ex1.rb ex1.rb:3: syntax error, unexpected tCONSTANT, expecting $end puts "I like typing this."
It’s important that you can read these error messages, because you will be making many of these mistakes. Even I make many of these mistakes. Let’s look at this line by line.
- We ran our command in Terminal to run the ex1.rb script.
- Ruby tells us that the file ex1.rb has an error on line 3. The type of error is ”syntax error,” and then some programmer jargon you can usually ignore.
- It prints the offending line of code for us to see.