From: Peng Zuo Date: 2009-05-27T00:44:08+09:00 Subject: saving values in block problem --001636e0a77726f789046ad29835 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi,I'm using ruby 1.87. this problem seems to be the block context bug for 1.8x, in the results array, I always got the same value, which is the last return value of the iteration . I've got an object, which has multiple states. when I call each_state, I'm actually changing the state. results = [] an_object.each_state do |the_object| #some manipulations results << the_object end the each_state method looks like: def each_state #blah blah, change the current state yield(self) # I also tried self.dup, but it didnt work either. end anyone knows how to solve this? TIA Regards, Peng Zuo --001636e0a77726f789046ad29835--