Posted over 6 years ago. Visible to the public. Repeats.

Defining and calling lambdas or procs (Ruby)

There are different ways to define a lambda or proc in ruby:

  1. with lambda-keyword

    test = lambda do |arg| puts arg end
  2. with the lambda literal -> (since ruby 1.9.1)

    test = -> (arg) do puts arg end
  3. with the proc keyword (which defines a lambda that does not test the given number of arguments):

    test = lambda do |arg| puts arg end

And there are different ways to call them:

  1. call (we prefer this)

    Copy'hello world')
  2. Square brackets (could easily be mistaken for a hash)

    test['hello world']
  3. .() (weird, isn't it?)

    test.('hello world')

Does your version of Ruby on Rails still receive security updates?
Rails LTS provides security patches for unsupported versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2).

Owner of this card:

Judith Roth
Last edit:
over 2 years ago
by Henning Koch
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Judith Roth to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more