--nextPart12916457.GPyYVRSguV
Content-Type: text/plain;
  charsetso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Thursday 09 August 2007 11:38:06 am Tom Werner wrote:
> 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

I believe this has come up *lots*. IIRC, the current response is that such
block defaults are not possible with the lexical parser / grammar ruby
currently uses.

-- 
Konrad Meyer <konrad / tylerc.org> http://konrad.sobertillnoon.com/

--nextPart12916457.GPyYVRSguV
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQBGu2EXCHB0oCiR2cwRAqn4AKDI+hbQThTHGWVTtQ2PumZu1uQEaQCcDMg4
j8PNB9tXfVSlznKHwEwVZAULx
-----END PGP SIGNATURE-----

--nextPart12916457.GPyYVRSguV--