From: James Edward Gray II Date: 2006-01-05T10:29:13+09:00 Subject: Re: Default block parameter? On Jan 4, 2006, at 6:52 PM, Mark J.Reed wrote: > Okay, this is probably a dumb question, but how do I declare an > optional block parameter with a default value? > > I tried several variations on this basic theme: > > def meth(&block = lambda { |i| ... }) > ... > end > > But I keep getting syntax errors. Help? Hopefully this will give you some ideas: >> def default >> if block_given? >> yield >> else ?> lambda { puts "Default block" }.call >> end >> end => nil >> default Default block => nil >> default { p 2 + 2 } 4 => nil James Edward Gray II