[ruby-core:78202] [Ruby trunk Feature#12957] A more OO way to create lambda Procs
From:
justcolin@...
Date:
2016-11-18 19:09:30 UTC
List:
ruby-core #78202
Issue #12957 has been reported by Colin Fulton.
----------------------------------------
Feature #12957: A more OO way to create lambda Procs
https://bugs.ruby-lang.org/issues/12957
* Author: Colin Fulton
* Status: Open
* Priority: Normal
* Assignee:
----------------------------------------
Currently to create a lambda Proc one has to use `lambda { }` or `-> { }`. For doing metaprogramming it would be nice to have a more OO way to generate them. Something like `LambdaProc.new`. That way one could write:
```ruby
class MetaThingy
def initialize proc_class
@anonymous_function = proc_class.new do
# Some Code
end
end
end
```
and pass in either `Proc` or `LambdaProc` depending on their needs, instead of:
```ruby
class MetaThingy
def initialize proc_type
@anonymous_function = case proc_type
when :proc
proc do
# Some Code
end
when :lambda
lambda do
# Some Code
end
end
end
end
end
```
This is not a common use case, but would help make the language more orthogonal.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>