Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Comprehensive Ruby Programming
Comprehensive Ruby Programming

Comprehensive Ruby Programming: From beginner to confident programmer

eBook
€17.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Comprehensive Ruby Programming

Ruby Variables

Ruby variables are the building blocks of just about every Ruby program. In this chapter, you will learn how to work with variables in Ruby to store data and use the data throughout a program. This is a pretty easy chapter and if you're already familiar with Ruby development you can skip this one. After completing this chapter you will be able to do the following:

  • Use variables to store data
  • Demonstrate how to change variable values

Using variables in Ruby

Imagine that you want to send a letter to a friend across the country. Prior to the days of email you would write the letter and place it inside an envelope. Now, the envelope is not the letter itself, instead, envelopes simply hold the letters and allow them to be carried to their destination. In the same way, variables are like envelopes. They store the following:

  • Words (also called strings)
  • Integers
  • Methods
  • Collections

The variables themselves are the storage mechanisms for data in Ruby programs. They allow developers to store information in the code and then retrieve the information later on.

Variable code implementation

Now let's dive into the code. For a basic example, I'm going to...

Printing to the Ruby console

When you're learning a new programming language, it is important to see your program's output. This guide can be used in an online REPL environment (like our variable lesson) or in the Unix Terminal by typing irb, which will open an interactive Ruby session.

Using puts

In this lesson, we are going to learn the different options available to print messages to the Ruby console. The first way is to use the puts method. Consider this example:

puts "A string" 

The preceding line will display the content, A string.

Using p

Another...

Getting input from the Ruby console using gets and chomp

Now that you know how to print values to the console, the next logical step is to know how to get input from users. In this section, we'll walk through how to use the built-in gets and chomp methods in Ruby.

In a real-world application, you'll most likely use web forms or some tool like that to get an input. However, using console tools you'll be able to mimic what a user types into a program.

Code implementation

We're going to start by asking the question, What is your name? and print that out to the console:

puts "What is your name?"  
name = gets

This code will print the first line to ask the question. In the second line, we are creating...

Variable scope and variable types

In this section, we are going to talk about the five different types of variables in Ruby, including how and when they should be used, along with how variable scope works in the Ruby programming language. For this lesson, I will be using the Sublime Text editor instead of repl.it so that you can see how Ruby works using files (which is the standard way to build scripts).

The five different Ruby variable types are as follows:

  • Local variables
  • Global variables
  • Instance variables
  • Constants
  • Class variables

Let's take a look at each of these variable types in detail.

Local variables

Local variables are variables whose scope is limited to the area where they are declared. In other words, if...

Summary

Variables are one of the most fundamental building blocks of programming and after going through this chapter, you should now have a basic understanding of how to use variables in Ruby. We saw two ways to print data out to the Ruby console to see the output. We also looked at how to get user input so that it can be utilized in a program. Additionally, we analyzed how to clean the data by leveraging the chomp method. Lastly, we understood the concept of variable scope and its use.

In the next chapter, we'll dive into the string data type, which is what we use when working with data that contains characters, words, and sentences

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
Estimated delivery fee Deliver to Finland

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

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 Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Estimated delivery fee Deliver to Finland

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

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
€18.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
€189.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 €5 each
Feature tick icon Exclusive print discounts
€264.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 €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 102.97
Comprehensive Ruby Programming
€32.99
Mastering Reactive JavaScript
€32.99
React Design Patterns and Best Practices
€36.99
Total 102.97 Stars icon

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%
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
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
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
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela