The road to Ruby mastery is paved with blocks, procs, and lambdas. To be a truly effective Ruby programmer, it’s not enough just to understand these features—you need to know how to use them in practice. Discover how to write code that is elegant, expressive, and a joy to use, and gain a deep understanding of these concepts so you can work with third-party gems and libraries more easily. Whether you are completely new to Ruby or a seasoned Rubyist, you’ll find good use for these concepts in your code.
Mastering Ruby Closures: A Guide to Blocks, Procs, and Lambdas
by Benjamin Tan Wei Hao
About this Title
Pages: 100 (est)
Ruby developers use the Ruby language as the yardstick for expressivity, flexibility, and elegance—and a large part of this is due to blocks, lambdas, and procs. These language features make Ruby one of the most beautiful and pleasant languages to work with. Learn how to understand and craft code that will take you closer to Ruby mastery.
Start with the basics of closures and then dive into blocks, as you learn about the patterns that involve blocks, and how they are used in real-world code. Then create and use procs and lambdas. Finally, build your own lazy enumerables with advanced Ruby features such as fibers and generators. Along the way, work with computer science concepts such as closures, free variables and first-class functions. Spot a closure easily. Identify the patterns where you can effectively use blocks and re-implement common standard library methods using them. Trace through how Symbol#to_proc works and find out the different ways of calling procs. This succinct guide takes you through the different kinds of Ruby closures with engaging examples, and each chapter comes with exercises that test and challenge your understanding.
When you finish this book, blocks, procs, and lambdas will have become an integral part of your Ruby toolbox.
What You Need
Ruby 2.x and a basic familiarity with Ruby.
Contents & Extracts
Benjamin Tan Wei Hao is the author of The Little Elixir and OTP Guidebook and has spoken at Ruby conferences about Elixir. When he’s not reading, writing, or playing with his daughter Audrey, you will find him developing awesome software at Pivotal Labs, Singapore. He blogs at benjamintan.io and you can follow him on Twitter @bentanweihao.