In this lesson, we are about to see different types of variables and constants. Although there are several types of variables like class variables and global variable, we will learn about local variables in this lesson. To create a variable in ruby, we simply provide a name and value using the assignment statement.
number = 100
_name. Underscore come in handy when we create a compound variable using Snake Case like,
first_name = "Bharath"Another way to write compound variable or multiword variable is Camel Case.
lastName = "Kumar"
The Ruby Style Guide recommends consistent conventions and best practices to Ruby developers.
_123, rate1 //valid #abc, n*ame //invalid variable names.
Names should match any of the reserved keywords. We'll look at the reserved keywords in ruby in the reserved keywords lesson.
Global variables are created by putting a dollar symbol
$ before the variable name. Ex.
$salary = 10000. salary is a global variable which can be seen throughout the program.
In this section, we are going to work with numbers data type. Ruby supports major number systems such as whole numbers, floating point numbers. Different bases such as
Hexadecimal are allowed.
To write in binary we use
0b and the corresponding number. For example, 5 can be written as 101 in binary. Likewise, to represent number in hexadecimal
0x is used and for octal 0 alone is used. Negative numbers are represented by using unary operator - (minus) before the number.
Ruby supports different arithmetic operations such as addition, subtraction, multiplication, division, modulus and exponentiation.
In above image, you can see the arithmetic operations performed.
9 % 3statement provides the remainder when 9 is divided by 3. In this case the result will be 0.
2 ** 5statement raises 2 to the power of 5. So, the result will be 2 * 2 * 2 * 2 * 2, which is equal to 32.
We will learn about operators in detail in a subsequent lesson.
abs is a method used to find the absolute value of a number. For example, -26.abs gives the value of 26. Some other methods are div and modulo.
You can also convert numbers to strings. For example, to convert 100 into a string :
Boolean type variables can hold two values true or false. But in ruby, it can also hold third type of value in Boolean variable called nil. But in most context, we work with only true and false values. So, let's concentrate on those two.
Boolean data type is used in comparison, loops and decision making statements. 100 > 1 returns true. Because 100 is greater than one. Likewise,1 > 100 returns false.
You can also assign Boolean values to the variables.
flag = true
After this assignment, the variable flag contains the Boolean value true.
(!) negates the Boolean value. For example, if the
flag variable contains the value true. Then the negation of the flag variable gives the value of false.
You can also double negate the variable. But negating more than once tends to be confusing. Hence it's best to stick with single negate when you need it.
Constants are variables that holds the same value throughout the program. Ruby is a typical language, where you can reassign constants. As per conventions, all constants in ruby in uppercase characters so that they are easily distinguishable.
Notice that it did change the value of the constant, but it gave a warning saying that "PI is already initialized constant".
So, just be aware that you can define constants in ruby, you can also change its value which means you wonder they shouldn't be called
constants. As we already said, Ruby is a typical language.