--nextPart12916457.GPyYVRSguV Content-Type: text/plain; charset so-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--