In today's world, Object-Oriented Programming is pervasive but every object-oriented language is different in what it are objects how it treats them. This can get confusing so you'll be happy to hear that, in Ruby, EVERYTHING is an object. Take a look here:
So we have this word
'underpants' and we have this new thing
.length as well. If we run this simple program, Ruby will output
10. That's because the object
'underpants' has a length of
In this example, try to think what Ruby will display on the screen. If you were thinking
Nirvana then you would be correct. Both
.capitalize are called methods. Methods are actions by objects. So when the method
.length acts on the object
'underpants', Ruby checks the length of the object and gives us the resulting
10. We will learn more about methods later in this lesson. We will also return to objects in Ruby in Lesson 3 after you have become Duly Ruby.
Ruby is capable of doing a lot of things without any special configuration, like arithmetic. Let's start out with something simple:
2 + 2
puts 2 + 2
puts the result of the expression
2 + 2 which Ruby has automatically calculated. As far as we're concerned, the code above is the same as
There are two kinds of numbers in Ruby. There are integers, which are signed numbers like
23_000. Then there are floating-point numbers or floats, which are numbers with decimal points like
-76.8. For the most part we only need to concern ourselves with integers in Ruby, since floats are usually reserved programs that require extreme precision like in scientific experiments.
Here are some of the mathematical operators in Ruby:
4 + 3 #addition
843 - 14 #subtraction
7 * -3 #multiplication
934765 / 5 #division
59 % 3 #modulo division
It's of course worth mentioning that the division represented by
/ is integer division. So an expression like
11 / 2 would evalute as
These numbers and operators are great for mathematic calculation (duh), but we'll soon see that they play well with others.
Strings are lines of text between either single (
') or double quotes (
"). Just like numbers, in Ruby strings are objects so they behave accordingly. Let's take a look at the following examples:
puts 'Hello world!'
Here we see possibly the most prevalent computer program ever written. It prints the string object
'Hello world!' to the screen. Strings aren't only just letters, they also can include symbols, digits, punctuation. and spaces. In the next example you can see that you can combine strings with the
puts 'Hello ' + 'world!'
This is not unlike other languages that use
+ as a concatenation operator. However, in most languages how the
+ operator works depends on the type of data it is connecting. When the operands are numbers the operator usually
performs the addition function, and when they are strings it performs concatenation. Yet you can't combine the two. Because strings
are objects in Ruby, we are afforded a lot of flexibility including the ability to do string arithmetic. Pay attention, you are about to see some of Ruby's magic:
puts 'I am Ruby, and Ruby is me.' * 3
There it was! Did you see it? Look again.
In this example we are printing
'I am Ruby, and Ruby is me.' to the screen
3 times. But that's not the crazy part! The important thing is that strings
and numbers are interacting. This doesn't happen in most languages. This is great! Next you will learn that there are some formulations of strings and numbers don't interact well.