Gordon Thiesfeld wrote:
> On Aug 9, 11:40 am, Emmanuel Oga <oga_emmanuel_... / yahoo.com.ar>
> wrote:
>   
>> how can i use define_method to assign default parameters?
>>
>>     
>
> Not sure if this is the most elegant way, but:
>
>   define_method(:method_name) do |*args|
>     parameter, parameter2 = *args
>     parameter2 ||= 'default'
>     puts parameter
>     puts parameter2
>   end
>
>
>   


Has the addition of block argument defaults to the language been 
considered? There are a number of places (especially in define_method, 
Proc.new, and lambda) where it would come in handy. The syntax would of 
course be:

def foo
  yield 'from method'
end

foo do |x, y = 'from default'|
  puts x
  puts y
end

Which would output:

from method
from default

I've seen this come up enough that its addition would seem welcome. Are 
there arguments against it?

Tom