ChicagoRuby Online w/ Keith Bennett: Functional Programming in Ruby with Lambdas

Public group

Location visible to members


Welcome to another edition of ChicagoRuby Online! This month we are excited to welcome a member of the DC Ruby group Keith Bennett!

Functional Programming in Ruby with Lambdas


The Problem

Object Oriented Design is powerful for organizing software behavior, but without the benefit of lambdas' code-as-data flexibility, in many cases it fails to reduce solutions to their simplest form.

Functional programming has been gaining popularity, and many Rubyists have embraced functional languages such as Elixir and Clojure. While Ruby generally isn't considered a functional language, it does have lambdas and a rich Enumerable library.

Although Ruby's Enumerable functionality is widely appreciated and used, its lambdas generally are not.

The Solution

This presentation introduces the developer to lambdas, and shows how they can be used to write software that is cleaner, simpler, and more flexible.

We'll go through lots of code fragments, exploring diverse ways of exploiting the power of lambdas, and identifying reusable functional design patterns along the way.


6:05 - Announcements
6:10 - Presentation
After - Q&A


Keith is a long time software developer who started his software development career writing an in-house accounting package in Applesoft BASIC on an Apple II, and has since worked primarily with C, C++, Java, and Ruby.

He spent most of the last 4 years living in Asia but is now hiding out in his Reston, Virginia apartment awaiting the opportunity to travel again.

His other interests include technical community, current events, foreign languages, karaoke, and becoming a better human being.


THIS EVENT WILL BE STREAMED via ZOOM. The presentation will start at 6:10. The Zoom link will be available to registrants. A recording will be made available after the event.


ChicagoRuby is dedicated to providing a harassment-free space for everyone, regardless, including but not limited to, ancestry, race, age, gender, religion, marital status, national origin, gender identity and expression, sexual orientation, disability, or any other protected class.

We do not tolerate harassment in any form.

Harassment is unwelcome conduct that is based on race, color, religion, sex (including pregnancy), national origin, age (40 or older), disability, sexual orientation, gender identity or expression, genetic information, veteran status, citizenship status, or any other protected class.

Harassment becomes unlawful where 1) enduring the offensive conduct becomes a condition of continued employment, or 2) the conduct is severe or pervasive enough to create an environment that a reasonable person would consider intimidating, hostile, or abusive.

Anyone who is found to be in violation of these terms will be asked to leave the meetup and will be disallowed from participating in future ChicagoRuby activities.

Please respect our hosts, speakers, and other members of the group at all times.