Ruby Programming/Hello world
The classic Hello, world! program is a good way to get started with Ruby.
Create a text file called
hello_world.rb containing the following code:
puts 'Hello, world!'
Now run it at the shell prompt.
$ ruby hello_world.rb Hello, world!
You can also run the short "Hello, world!" program without creating a text file at all. This is called a one-liner.
$ ruby -e "puts 'Hello, world!'" Hello, world!
-e means evaluate (Ruby code). You can run this code with irb, but the output will look slightly different.
puts will print out "
Hello, world!", but
irb will also print out the return value of
puts — which is
$ irb >> puts "Hello, world!" Hello, world! => nil
Like Perl, Bash, Python, and C Shell, Ruby uses the hash symbol (also called Pound Sign, number sign) for comments. Everything from the hash to the end of the line is ignored when the program is run by Ruby. For example, here's our
hello_world.rb program with comments.
# My first Ruby program # On my way to Ruby fame & fortune! puts 'Hello, world!'
You can append a comment to the end of a line of code, as well. Everything before the hash is treated as normal Ruby code.
puts 'Hello, world!' # Print out "Hello, world!"
You can also comment several lines at a time:
=begin This program will print "Hello, world!". =end puts 'Hello, world!'
Although block comments can start on the same line as
=end must have its own line. You cannot insert block comments in the middle of a line of code as you can in C, C++, and Java, although you can have non-comment code on the same line as the
=begin This program will print 'Hello, world!' =end puts 'Hello, world!'
Executable Ruby scriptsEdit
Typing the word
ruby each time you run a Ruby script is tedious. To avoid doing this, follow the instructions below.
Unix-like operating systemsEdit
In Unix-like operating systems – such as Linux, Mac OS X, and Solaris you will want to mark your Ruby scripts as executable using the
chmod command. This also works with the Cygwin version of Ruby.
$ chmod +x hello_world.rb
You need to do this each time you create a new Ruby script. If you rename a Ruby script, or edit an existing script, you do not need to run "
chmod +x" again.
Next, add a shebang line as the very first line of your Ruby script. The shebang line is read by the shell to determine what program to use to run the script. This line cannot be preceded by any blank lines or any leading spaces. The new
hello_world.rb program – with the shebang line – looks like this:
#!/usr/bin/env ruby puts 'Hello world'
ruby executable is not in the
/usr/bin directory, change the shebang line to point to the correct path. The other common place to find the
ruby executable is
The shebang line is ignored by Ruby – since the line begins with a hash, Ruby treats the line as a comment. Hence, you can still run the Ruby script on operating systems such as Windows whose shell does not support shebang lines.
Now, you can run your Ruby script without typing in the word
ruby. However, for security reasons, Unix-like operating systems do not search the current directory for executables unless it happens to be listed in your PATH environment variable. So you need to do one of the following:
- Create your Ruby scripts in a directory that is already in your PATH.
- Add the current directory to your PATH (not recommended).
- Specify the directory of your script each time you run it.
Most people start with #3. Running an executable Ruby script that is located in the current directory looks like this:
Once you have completed a script, it's common to create a
~/bin directory, add this to your PATH, and move your completed script here for running on a day-to-day basis. Then, you can run your script like this:
If you do not want to hard-code the path to the
ruby executable, you can use the
env command in the shebang line to search for the
ruby executable in your PATH and execute it. This way, you will not need to change the shebang line on all of your Ruby scripts if you move them to a computer with Ruby installed in a different directory.
#!/usr/bin/env ruby puts 'Hello world'
If you install the native Windows version of Ruby using the Ruby One-Click Installer, then the installer has setup Windows to automatically recognize your Ruby scripts as executables. Just type the name of the script to run it.
$ hello_world.rb Hello world
If this does not work, or if you installed Ruby in some other way, follow these steps.
- Log in as an administrator.
- Run the standard Windows "Command Prompt",
- At the command prompt (i.e. shell prompt), run the following Windows commands. When you run
ftype, change the command-line arguments to correctly point to where you installed the
ruby.exeexecutable on your computer.
$ assoc .rb=RubyScript .rb=RubyScript $ ftype RubyScript="c:\ruby\bin\ruby.exe" "%1" %* RubyScript="c:\ruby\bin\ruby.exe" "%1" %*
For more help with these commands, run "
help assoc" and "