Named procs and lambdas
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
spec
.gitignore
.travis.yml
CHANGELOG.rdoc
Gemfile
MIT-LICENSE.txt
README.rdoc
Rakefile
named_proc.gemspec

README.rdoc

Named Proc

When working with a lot of procs, naming them might become handy. It makes identifying them later easier. For an example that uses named procs, see the multi_block gem!

Setup

Add to Gemfile:

gem 'named_proc'

Named Procs

A named proc acts like a normal proc, but it has a name attribute. You create it by calling a method with the desired name on proc:

>> a = proc.even?{ |e| e.even? }
=> #<NamedProc:0x00000001ffc340@(irb):1>
>> a.name
=> :even?
>> a[42]
=> false

In the same way, you can create lambdas:

>> b = lambda.doubler{ |e| e * 2 }
=> #<NamedProc:0x000000020685e0@(irb):7 (lambda)>
>> b.name
=> :doubler
>> b[21]
=> 42
>> b.lambda?
=> true

MIT License

The original gist: gist.github.com/4b2f5fd0b45118e46d0f