Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Comprehensive Ruby Programming
Comprehensive Ruby Programming

Comprehensive Ruby Programming: From beginner to confident programmer

Arrow left icon
Profile Icon Jordan Hudgens
Arrow right icon
Free Trial
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3 (3 Ratings)
Paperback Jun 2017 330 pages 1st Edition
eBook
S$32.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial
Arrow left icon
Profile Icon Jordan Hudgens
Arrow right icon
Free Trial
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3 (3 Ratings)
Paperback Jun 2017 330 pages 1st Edition
eBook
S$32.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial
eBook
S$32.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Comprehensive Ruby Programming

Introduction to the Ruby Programming Language

Welcome to the Comprehensive Ruby Programming book! I'm excited to go through all the materials and walk you through this great programming language.

I've been a programmer for more than a decade, and I started Ruby about five years ago. Since then, I absolutely fell in love with Ruby for a wide array of reasons. As you learn the language you'll discover that you spend less time worrying about the syntax and more time coding, which adds to the fun. By the time you're finished with this course I hope you'll love this language as much as I do!

In this chapter, we'll take a high level view of the Ruby programming language, learn how to install it on your system, and get it up and running so you can start building Ruby programs. By the end of this chapter, you will have learnt the following:

  • Describe the high level concepts of the Ruby programming language
  • Construct the configuration to run Ruby programs
  • Define how to work with multiple Ruby versions

What is Ruby?

Ruby is an open source programming language, which means that it's free to use, and it was developed by a large community of developers.

So what can you do with Ruby? By leveraging the Ruby programming language you can build many different types of applications. If you're interested in building dynamic web applications you will most likely want to learn the Ruby on Rails web framework. Since Rails is built on top of Ruby, it's beneficial to understand how to program in Ruby before you can use Rails properly.

Popular sites that use Ruby

So what sites use Ruby?

  • hulu.com: A popular destination to watch TV shows and movies online
  • twitch.tv: A video game-viewing site that was acquired by Amazon
  • lumosity.com: A popular learning platform
  • weheartit.com: A great entertainment site
  • bloomberg.com: An application that processes news and financial data to give financial insights to users
  • github.com: One of the most well-known Git repositories, GitHub enables developers from all over the world to host their code and collaborate with others

Now that you know the kind of applications that we can build with Ruby, let's get started!

Installing Ruby on a computer

Before we can start programming, you'll need to get Ruby installed on your system. I'm going to walk you through how you can install it on your computer regardless of your operating system, and I'll also give you alternate options if you don't want to install Ruby locally (however I highly recommend installing it).

Ruby language dashboard

Let's start by going to http://ruby-lang.org:

When you click on the Download Ruby button, it will take you to the following page:

This page gives you information on how to install Ruby on your system.

If you are using the Windows operating system, follow these steps:

  1. Go to rubyinstaller.org:
  1. From this list, you can pick the stable version you want, I recommend that you go with the latest stable version. When you click on any of these links, the installer will run and you will be ready to go.

If you're using macOS, Ruby is already installed on your system. To check this follow these steps:

  1. I created a file called do_I_have_ruby.rb, which has only one line of code in it:
     puts "Yes, you have Ruby!"
  1. Next, go to your Terminal (make sure that you're in the same directory as your Ruby file) and run the file with the following command:
      ruby do_I_have_ruby.rb

This should display your string, if Ruby is properly installed:

If you don't feel comfortable creating and running a Ruby file like this, you can simply type irb into a Terminal window and if it opens up it means that you have Ruby. You can also type ruby -v to have the system show you what version of Ruby is installed.

One thing that you can do if you are using the Mac or Linux operating systems is to use the Ruby Version Manager (RVM). This gives you the flexibility to use different Ruby versions for different projects.

To install RVM, go to http://rvm.io, and here you will find the Terminal commands that you can simply copy and paste in your Terminal:

Once you've installed RVM, type rvm list and this should list out all the Ruby versions on your system. If you want to change versions you can call the use command. For example, type in your Terminal to switch to Ruby version 2.4.0:

rvm 2.4.0

If you don't want to install Ruby on your local system, but still want to learn how to build Ruby programs, you can go to http://repl.it/languages. This should give you the list of languages available in the repl.it dashboard. When you click on Ruby, it will take you to a Terminal that will render all your Ruby code.

I tend to use this site if I have to quickly debug an algorithm or a confusing script. It's a great tool because you're able to get a side-by-side perspective on your code with its output:

So that's how you install Ruby! Now with that installed, you're ready to start learning how to build Ruby programs!

Installing different Ruby versions with RVM

If you're interested in using RVM to manage multiple versions of Ruby on your system, I want to give some more detailed instructions on how you can accomplish this:

  1. Start out by going to your Terminal and typing the following command:
      rvm list

If you have RVM installed, this will bring up all of the versions of Ruby that you have access to on your computer.

  1. If there is a version of Ruby that you want and that you don't already have on your system, simply type this in to the Terminal:
      rvm install 2.3.0  

Running this command will install the 2.3.0 version of Ruby for you:

You can do this for any versions of Ruby that are available via RVM. This makes it easy to ensure you're always using the most up-to-date version of the language. Using RVM is also helpful if you have different projects that utilize various versions of the language. For example, I have some legacy Ruby projects that use Ruby version 1.9.3, while all of my new projects use Ruby 2.3.0 (at the time of writing this guide).

By leveraging RVM, I can quickly switch between different versions of Ruby with a simple Terminal command. Alternatively, if you're not a fan of RVM, you can also use rbenv, which is a similar service.

Summary

In this chapter, we discussed what Ruby is and the popular applications that utilize the Ruby programming language. We also looked at the step-by-step approach of installing Ruby on your computer. With Ruby installed, we also acquired the tools needed to run Ruby programs and go through this book. We later extended our system's functionality and walked through how to install multiple versions of Ruby on our computers, which can be a helpful tool when working with multiple applications that require varying versions of the language.

In the next chapter, we will dive into how to work with variables in Ruby, which will give us the ability to store data and work with it in Ruby programs.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • • Provides the core skills required to become a Ruby programmer
  • • Covers how to use the most popular Ruby Gem libraries
  • • Includes details on regular expressions

Description

Ruby is a powerful, general-purpose programming language that can be applied to any task. Whether you are an experienced developer who wants to learn a new language or you are new to programming, this book is your comprehensive Ruby coding guide. Starting with the foundational principles, such as syntax, and scaling up to advanced topics such as big data analysis, this book will give you all of the tools you need to be a professional Ruby developer. A few of the key topics are: object-oriented programming, built-in Ruby methods, core programming skills, and an introduction to the Ruby on Rails and Sinatra web frameworks. You will also build 10 practical Ruby programs. Created by an experienced Ruby developer, this book has been written to ensure it focuses on the skills you will need to be a professional Ruby developer. After you have read this book, you will be ready to start building real-world Ruby projects.

Who is this book for?

This is a complete course written from the ground up for beginners wanting to gain a solid understanding of the Ruby language. It starts at the beginning with how to install Ruby and work with it on multiple machines, so simply have a computer that's connected to the Internet and you'll be ready.

What you will learn

  • • Learn how to use Ruby code effectively, picking the right tool for the job and not duplicating built-in functionality
  • • Gain best software development practices, and how to identify and fix common errors
  • • Absorb core programming skills, such as variables, strings, loops, conditionals, and much more
  • • Explore object-oriented programming and learn to create modular, reusable code that you can use across projects
  • • Build 10 practical Ruby programs as you work through the book on topics such as big data analysis and solving Euler equations

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 30, 2017
Length: 330 pages
Edition : 1st
Language : English
ISBN-13 : 9781787280649
Category :
Languages :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Jun 30, 2017
Length: 330 pages
Edition : 1st
Language : English
ISBN-13 : 9781787280649
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total S$ 186.97
Comprehensive Ruby Programming
S$59.99
Mastering Reactive JavaScript
S$59.99
React Design Patterns and Best Practices
S$66.99
Total S$ 186.97 Stars icon
Banner background image

Table of Contents

19 Chapters
Introduction to the Ruby Programming Language Chevron down icon Chevron up icon
Ruby Variables Chevron down icon Chevron up icon
Ruby Strings Chevron down icon Chevron up icon
Working with Numbers in Ruby Chevron down icon Chevron up icon
Ruby Methods Chevron down icon Chevron up icon
Ruby Iterators and Loops Chevron down icon Chevron up icon
Ruby Collections Chevron down icon Chevron up icon
Ruby Conditionals Chevron down icon Chevron up icon
Object-Oriented Programming in Ruby Chevron down icon Chevron up icon
Working with the Filesystem in Ruby Chevron down icon Chevron up icon
Error Handling in Ruby Chevron down icon Chevron up icon
Regular Expressions in Ruby Chevron down icon Chevron up icon
Searching with grep in Ruby Chevron down icon Chevron up icon
Ruby Gems Chevron down icon Chevron up icon
Ruby Metaprogramming Chevron down icon Chevron up icon
Ruby Web Frameworks Chevron down icon Chevron up icon
Working with APIs in Ruby Chevron down icon Chevron up icon
Ruby Algorithms Chevron down icon Chevron up icon
Machine Learning Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
(3 Ratings)
5 star 33.3%
4 star 0%
3 star 33.3%
2 star 0%
1 star 33.3%
Gregory V. Pastorelli Aug 06, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book, having come from Python, it's an excellent way to add Ruby to my skill set. Unlike some technology books it's not dry and is an easy read
Amazon Verified review Amazon
Ryan Oct 08, 2017
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
The code examples are too brief and lack explanation.. In some parts the code samples do not run at all, and what is worse is when I feel I simply mistyping something and need to reference the books code from githut, half the chapters are missing. If you can muddle your way through it, perhaps you can learn some ruby code.
Amazon Verified review Amazon
Jerry P. Brook Jan 07, 2020
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
I am not new to computer programming; I enjoy learning new languages (new to me that is).That said, I find it infuriating when I come across a poorly written instruction manual. And I find that the vast majority of manuals are poorly written. Just because you can do, does not mean that you can teach.The fact that this book is authored by a person who claims to be a teacher is actually disturbing.I did not make it past the first thirty (30) pages of this book before putting it down in disgust.Let me explain; the author claims that this book is for beginners and yet at every step he uses terms that would be utterly unknown and confusing to the beginner.I am not a beginner and so I am familiar with the terms, however, such a poor writing style and confusing organization of the information and concepts indicates a true lack of knowledge of the educational process, and will lead the reader to frustration not education.In the second chapter entitled “Ruby Variables” he actually begins with output.There is nothing more than a single paragraph on what exactly variables are, why and how you would use them, he won’t tell you.In his second example of printing out to the console, again not an explanation of variables, he discusses arrays. Arrays is a topic supposedly not covered until chapter seven (7) of the book. Going into detail about a topic not yet covered, and so clearly not known to the reader shows a true lack of educational ability.For some unknown reason he focuses on the “puts” versus the “p” commands, why I do not know, because at this point the beginner still doesn’t even know what variables are.He then proceeds to the function of getting input from the user, again why? You haven’t learned about any of the basics at this point. He explains the “chomp” command with a few lines discussing the removal of the carriage return. We still haven’t even discussed variables, there use, there context, and he is off discussing items that no beginner will know anything about at this stage.His next code example uses the “if” statement, which won’t be covered until chapter 8. So, there is no way that the beginner will understand, or be able to truly follow, along – and I don’t know, learn something!But wait it gets worse, he then discusses scope (finally something relating to variables), except that he hasn’t explained program structure yet. So, scope is much to early, and of course he discusses; methods – not to be learned until chapter 5, loops – not to be learned until chapter 6, collections – not to be learned until chapter 7, and classes – not to be learned until chapter 9.Clearly, he is one of those people who does a brain dump, and simply regurgitates everything that he knows, or can say, all at once. With no context, and no iterative knowledge building. He doesn’t build a house from the ground up, in steps, each piece relying on the last in order to create a sound structure, a foundation.He has no concept that these principles themselves grew up and did not all appear at once. In other words, the very people who created these programming concepts had to slowly; add, modify, and improve them. Which means that they had to learn; why, how, when, and where, to use them. They didn't just happen all at once.It is safe to say that I do not recommend this book, and I would not recommend hiring this person to teach anyone, anything. If I could have given zero stars I would have.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.