From: "leonardo.pires@..." Date: 2005-09-13T20:26:33+09:00 Subject: Re: BEGIN and END vs. blocks >From PickAxe (2nd, ed. pg 341): "Braces have a high precedence; do has a low precedence. If the method invocation has parameters that are not enclosed in parentheses, the brace form of a block will bind to the last parameter, not to the overall invocation. The do form will bind to the invocation." Since the there isn't parentheses, the braces bind to goo (a argument to foo). Using the do form, a error is generated (but it's ok: you're passing a block to foo). I forgot to say what I want to know in my first email (sorry!) and noticed this only now: why I can't use the do form with BEGIN or END? END do puts 'wow' end It's invalid! Because there's something implicit?