From: "David A. Black" Date: 2004-11-16T12:21:33+09:00 Subject: Re: Block passing Hi -- On Tue, 16 Nov 2004, Zach Dennis wrote: > I am curious how I can capture a block that was passed. Here's what I'm > trying to do: > > class BaseClass > def initialize( arg1 ) > puts "got a block" if block_given? > end > end > > class SubBaseClass < BaseClass > def initialize( arg1 , arg2 ) > super( arg1 ) > end > end > > sbc = SubBaseClass.new( "aarg1" , "arg2" ) { puts "my block" } > > > I would like BaseClass to receive the block I passed to the SubBaseClass > constructor. I have tried a few variations, but nothing went. It involves '&'s: class BaseClass def initialize(arg1) puts "got a block" if block_given? yield end end class SubBaseClass < BaseClass def initialize(arg1, arg2, &block) super(arg1) &block end end sbc = SubBaseClass.new( "aarg1" , "arg2" ) { puts "my block" } David -- David A. Black dblack@wobblini.net