On Sun, 13 Mar 2011 23:26:01 +0900, Brian Candler wrote: > Peter Zotov wrote in post #987115: >> On Sun, 13 Mar 2011 06:01:31 +0900, Sean O'Halpin wrote: >>> define_method(). >>> >> >> But send() still bothers to pass the block around. Consider the >> following code: >> >> ---8<---8<--- >> def my_method >> p block_given? >> end >> >> def my_send # imitating send >> my_method >> end >> >> my_send # => false >> ---8<---8<--- > > But compare with this: > > def my_method > p block_given? > end > > def my_send(&blk) # imitating send > my_method(&blk) > end > > my_send # => false > my_send { :wibble } # => true That's the whole point of my demonstration. (Maybe I was too concise.) Any send-like method should to a trick like that to get the block-passing behavior. It is not implicit. -- WBR, Peter Zotov.