DEV Community

Cover image for Sharpen your Ruby: Part 1
Eric The Coder
Eric The Coder

Posted on • Originally published at eric-the-coder.com

Sharpen your Ruby: Part 1

Follow me on Twitter @EricTheCoder_


I develop in Javascript, Python, PHP, and Ruby. By far Ruby is my favorite programming language. Together let start a journey and revisit our Ruby foundations.

You want to sharpen your Ruby?

In this series, we will start from the beginning and will discover every aspect of Ruby one step at a time.

Each post will include some theory but also exercise and solution.

If you have any questions/comments or you are new and need help, you can comment below or send me a message.

Run your Ruby code

No need to go through a complete install. Just go to this website https://replit.com/languages/ruby and start learning right now. You will have plenty of time to figure out the Ruby installation on your local machine later on...

Ruby Variables

If you’re new to programming, variables are the fundamental building blocks of a programming language as they are used to store different values that you want to process in your code.

Once the variable is store in program memory, it can be used later on.

For example, let say you want to store the user name you can use a variable call name and set its value to Mike Taylor.

name = 'Mike Taylor'
Enter fullscreen mode Exit fullscreen mode

In Ruby string is enclosed with quotation marks.

The variable name we just created is a string variable. In Ruby, we don't have to specify the variable type.

Ruby is a Just-in-time (JIT) interpreted language. Which automatically recognizes the data type based on what variables are stored.

Here are some Ruby basic variables types and how to create them

# string
full_name = 'Mike Taylor'

# integer number
count = 20

# float number
book_price = 15.80

# booleans
active? = true
admin_user? = false
Enter fullscreen mode Exit fullscreen mode

Ruby also has more advanced variables types like an array, hash, structure, and class. We will cover all of those in detail later.

Output

In Ruby, it is possible to output information to the console/terminal.

For example, let's send our name variable to the console

name = 'Mike Taylor'
puts name
Enter fullscreen mode Exit fullscreen mode

The puts method will take any value we give him and print it to the console...

Mike Taylor
Enter fullscreen mode Exit fullscreen mode

Others example

name = 'Mike Taylor'
puts 'Hello World'
puts 'Hello', name
Enter fullscreen mode Exit fullscreen mode
Hello World
Hello
Mike Taylor
Enter fullscreen mode Exit fullscreen mode

As you can see we can send multiple values to puts method and he will display all of them.

Another Ruby method very similar to puts is the method print. Print can display something to the console but will not send the line break after each print. Example:

name = 'Mike Taylor'
print 'Hello ', name
Enter fullscreen mode Exit fullscreen mode
Hello Mike Taylor
Enter fullscreen mode Exit fullscreen mode

Input

How about getting info from the user. In Ruby we use the method gets to do just that

print 'Enter user name: '
name = gets
Enter fullscreen mode Exit fullscreen mode

The console will then wait for user input:

Enter user name: _
Enter fullscreen mode Exit fullscreen mode

The gets method will return everything you type plus a line break characters. If you don't want to read the line break characters use the chomp method to remove that last character

print 'Enter user name: '
name = gets.chomp
Enter fullscreen mode Exit fullscreen mode

Everything in Ruby is an object

The following concept will be a bit more advance. Beginners could have hard time to fully understand this concept. (and it is ok).

In Ruby, everything is an object. Event types like integer, string, array are all objects. All Ruby objects inherit properties and methods from their parent object.

Here an example

name = 'Mike'
puts name.upcase # MIKE
Enter fullscreen mode Exit fullscreen mode

In this example, we use the method upcase to convert our string to upper case. How is that's possible? The name variable is a string and the string in Ruby is an object. All string objects have already many pre-build methods to help the developer.

The .upcase method is not the only method provided by the string object. There are many more methods available. We will discover some of those in future posts.

If you want to know all available methods for string or any other Ruby objects you can consult Ruby official documentation: https://www.ruby-lang.org/en/documentation/

We will come back later to this concept, but just keep it in your mind: Everything in Ruby is an object.

Exercise

Create a little program that asks for the user name and age and save the result in the name and age variable.

Then display name and age variable in the console

Solution

print 'Enter user name: '
name = gets.chomp

print 'Enter user age: '
age = gets.chomp

puts 'The user name is: ', name
puts 'The user age is: ', age
Enter fullscreen mode Exit fullscreen mode

Conclusion

That's it for today. The journey just started, stay tuned for the next post very soon.

If you have any comments or questions please do so here or send me a message on Twitter.

Follow me: @EricTheCoder_

Discussion (0)