From: ts Date: 2003-12-12T19:21:01+09:00 Subject: Re: getting a method from a block in C >>>>> "e" == elathan writes: e> I don't want to yield bar, just save it and call it later (foo is e> actually a C++ constructor, which takes as an argument a pointer to a e> user function). if (rb_block_given_p()) { proc = rb_block_proc(); } when you want to call it rb_funcall(proc, rb_intern("call"), ...); don't forget to define a mark function, and call rb_gc_mark(proc) p.s. : for 1.6 this is rb_f_lambda() but this function is deprecated in 1.8 Guy Decoux