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

Hi –

On Mon, 1 Jan 2007, Jason R. wrote:

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