Passing a block around

I want to pass a block to method foo then call method bar from foo and
have bar yield to the block, I also want to be able to call bar
directly with a block, how to do this neatly.

e.g. I want to be able to do

foo { |baz| do stuff with baz }
bar { |baz| do other stuff with baz }

but when foo gets a block it passes it to bar in the background.

Thanks,
James

Well, while I don't quite understand everything you've said here, the
mechanism for passing blocks around is simple:

def foo(&block)
   baz block
end

def baz(&block)
  block.call(params)
end

Hope that helps.

Jason

···

On 12/31/06, J2M <james2mccarthy@gmail.com> wrote:

I want to pass a block to method foo then call method bar from foo and
have bar yield to the block, I also want to be able to call bar
directly with a block, how to do this neatly.

e.g. I want to be able to do

foo { |baz| do stuff with baz }
bar { |baz| do other stuff with baz }

but when foo gets a block it passes it to bar in the background.

Thanks,
James

Hi --

···

On Mon, 1 Jan 2007, Jason Roelofs wrote:

On 12/31/06, J2M <james2mccarthy@gmail.com> wrote:

I want to pass a block to method foo then call method bar from foo and
have bar yield to the block, I also want to be able to call bar
directly with a block, how to do this neatly.

e.g. I want to be able to do

foo { |baz| do stuff with baz }
bar { |baz| do other stuff with baz }

but when foo gets a block it passes it to bar in the background.

Well, while I don't quite understand everything you've said here, the
mechanism for passing blocks around is simple:

def foo(&block)
baz block

You need &block rather than just block.

David

--
Q. What is THE Ruby book for Rails developers?
A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black\)
    (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf\)
Q. Where can I get Ruby/Rails on-site training, consulting, coaching?
A. Ruby Power and Light, LLC (http://www.rubypal.com)