From: Hal Fulton Date: 2006-04-10T16:08:21+09:00 Subject: Re: Ruby Grammar - "do" Bihal wrote: > Seems I must have misread that first instance of "end." > > I'd still like to know why it's there! > OK... look at it this way. A block (whether {} or do/end) is attached to a method call. A method call can (does) return a value. That value is an object which can then have other methods called on it. This ugly bit of code mymeth(a,b) do |x| this that end.other_method(c,d,e) might be better understood as mymeth(a,b) {|x| this; that }.other_method(c,d,e) or even temp = mymeth(a,b) {|x| this; that } temp.other_method(c,d,e) Does that help? Hal