How to create blocks with arity known at runtime


#1

Hi everyone,

is it possible to create blocks of arity known at runtime, other than
simply using a variable list of params: Proc.new { |*a| … }

I’m looking for somthing like:
params = [:a, :b]
Proc.new { |*params| … }

which is not legal Ruby obviously

Thanks.


#2

On 2 abr, 12:03, abc removed_email_address@domain.invalid wrote:

Thanks.

I respond to myself, eval could be an option


#3

abc removed_email_address@domain.invalid writes:

Hi everyone,

is it possible to create blocks of arity known at runtime, other than
simply using a variable list of params: Proc.new { |*a| … }

I’m looking for somthing like:
params = [:a, :b]
Proc.new { |*params| … }

which is not legal Ruby obviously

You can, using eval.
Have a look at:
http://groups.google.com/group/comp.lang.ruby/msg/56fce4adeaa79f68?hl=en