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 your 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 web site 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...
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 use later on.
For example let say you want to store the user name you can use a variable call name and set is value to Mike Taylor.
name = 'Mike Taylor'
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 specified 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 type 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
Ruby also have more advance variables type like array, hash, structure and class. We will cover all of those in details later.
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
The puts method will take any value we give him and print it to the console...
name = 'Mike Taylor' puts 'Hello World' puts 'Hello', name
Hello World Hello Mike Taylor
As you can see we can send multiple value 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
Hello Mike Taylor
How about getting info from user. In Ruby we use the method gets to do just that
print 'Enter user name: ' name = gets
The console will then wait for user input:
Enter user name: _
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
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 type like integer, string, array are all objects. All Ruby objects inherits properties amd methods from there parent object.
Here an example
name = 'Mike' puts name.upcase # MIKE
In this example we use the method upcase to convert our string to upper case. How thats possible? The name variable is a string and the string in Ruby is an object. All string object have already many pre-build method to help the developper.
The .upcase method is not the only methods provid by the string object. There is many more methods available. We will discover some of those in future posts.
If you want to know all availables 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 for now just keep it in your mind: Everything in Ruby is an object.
Create a little program that ask for user name and user age and save the result in name and age variable.
Then display name and age variable in the console
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
That's it for today. The journey just started, stay tune for the next post very soon. (later today or tomorrow)
If you have any comments or questions please do so here or send me a message on twitter.
I am new on twitter so if you want to make me happy
Follow me: Follow @justericchapman