From: Robert Klemme Date: 2004-10-30T21:38:55+09:00 Subject: Re: reuse passed proc later? "David Gurba" schrieb im Newsbeitrag news:20041030005556.A499DCA06F@ws7-4.us4.outblaze.com... > Hello Everyone, > > I'm new to Ruby and some of its features... > > I want to do the following (with as little modfication as necessary): > > call a passed block to a function at some later time... Eg. > > class A > > def foo(&block) > @func = block > end > end > > a = A.new > num = a.func.call { print "12" } > > ..but func is an unknown method, and attr_accessor :func doesn't help > either.... As David said, you don't invoke foo so you don't assign to @func. You got the order a bit wrong since you provide the block too late, i.e. when you want to call it. The smallest change to your example might be this class A def foo(&block) @func = block end end a = A.new num = a.foo { print "12" }.call But you probably wanted class A attr_reader :func def foo(&b) @func = b end end a = A.new a.foo { puts "blah!" } a.func.call Kind regards robet