#### Overview of this book

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.
Preface
Free Chapter
Introduction to the Ruby Programming Language
Ruby Variables
Ruby Strings
Working with Numbers in Ruby
Ruby Iterators and Loops
Ruby Collections
Ruby Conditionals
Working with the Filesystem in Ruby
Error Handling in Ruby
Regular Expressions in Ruby
Searching with grep in Ruby
Ruby Gems
Ruby Web Frameworks
Working with APIs in Ruby
Machine Learning

# Summing values in an array using the inject method

In this section, I'm going to examine how to sum up values in Ruby by implementing the inject method. Being able to sum up values in an array is something you will most likely need in a number of different situations. Thankfully, Ruby makes this very straightforward to implement.

Before we see how to implement the inject method, I think it's beneficial to review how to generate a sum manually:

`total = 0 [3, 2, 4, 53, 5, 3, 23343, 4342, 12, 3].each do |i|   total += i end puts total `

When you run this program, it will generate the value 27700, which is the sum of all the individual values present in the array.

However, that took four lines of code. To shorten it, we can use the inject method:

`[3, 2, 4, 53, 5, 3, 23343, 4342, 12, 3].inject(&:+) `

In this code, we are calling the inject method and passing it to each...