From: Tom Sawyer Date: 2002-07-30T15:32:31+09:00 Subject: Re: Code Challenge Revisted On Tue, 2002-07-30 at 00:15, Tom Sawyer wrote: > class << self > alias_method :#{alias_meth}, :#{meth} > def #{meth}(*args, &block) > return if $___trigger___ == [self, :#{meth}] > $___trigger___ = [self, :#{meth}] if $___trigger___ == nil > x = send(:#{alias_meth}, *args, &block) > @___procs___['#{meth}'].call(*args) # or x = here??? > $___trigger___ = nil > return x > end > end quick addendum: this does not require the array of [self, :#{meth}]. self will suffice. > return if $___trigger___ == [self, :#{meth}] > $___trigger___ = [self, :#{meth}] if $___trigger___ == nil should read > return if $___trigger___ == self > $___trigger___ = self if $___trigger___ == nil ~transami