From: "Wolfgang Nádasi-Donner" Date: 2007-11-25T07:54:56+09:00 Subject: Re: retry semantics changed I want to inform you about two interesting reactions to my questions in the German Ruby forum. I presented the code... class Otto def a puts "In 'a'" self end def b puts "In 'b'" self end def c puts "In 'c'" yield end end p = 2 (puts "before 'Otto'"; Otto) .new .a .b .c{retry if (p-=1) > 0} ...which produces... before 'Otto' In 'a' In 'b' In 'c' before 'Otto' In 'a' In 'b' In 'c' The real interesting reactions were: 1) Nobody was confused or surprized about the new syntax, which allows these method call chains written with the dot at the beginning of a line (tere were a lot of discussion in a different thread). 2) The real surprize was, that not only method "c" is evaluated again, but the rest of the chain before, too. It was recognized as very surprizing, that a retry in relation with method "c" effects all already finished calls and calculations. I think both intermediate results are of interest. Wolfgang N��dasi-Donner