From: Robert Dober Date: 2007-03-01T20:48:32+09:00 Subject: Re: default passed block for method On 3/1/07, Niko wrote: > > Hi all, > > I'm trying to define the missing block given in the context of the > method to avoid the block_given? test on each iteration for yield call. > > def self.list_of_relationships(relations, source) > # missing_block_that_yield_would_call = lambda { || true } unless > block_given? > relations.map do |relation| > if yield(peer = relation.send(source)) > [peer.display_name, peer.id] > end > end.compact > end > > > Thanks for your help > > niko > > Is the following pattern better for you? def a &blk blk ||= proc{true} blk.call end a do puts "Nice" end puts a HTH Robert -- We have not succeeded in answering all of our questions. In fact, in some ways, we are more confused than ever. But we feel we are confused on a higher level and about more important things. -Anonymous