On 17.06.2008 06:08, hakunin wrote: > On Jun 16, 10:48 pm, Justin Collins <justincoll... / ucla.edu> wrote: >> print(true && true) >> print(true or true) >> print(true || true) >> print((true and true)) >> print((true or true)) > That makes sense, and yes, that I realized. In print() parenthesis are > enclosing the args, whereas in print () parenthesis are affecting > precedence of passed-in expression. However, from the usability > perspective, isn't it against some basic nature laws to leave it like > this? There are no nature laws in IT. > I would understand if print(true and return) was to be made > possible, although it looks quite ugly. In this case - Ruby says "i > don't need it, but I won't give it to you either!" - an error occurs, > but no reason provided for this to be restricted. If enclosed > arguments can only either be replaced with args list, or with a high > precedence expression (otherwise error), then why not allow arg- > enclosing parenthesis to behave like precedence modifiers as well, so > that expression inside them plays first? Overall it seems to be only > better for the elegance of code, and wouldn't hurt anyone. Unless I'm > missing the rest of the iceberg. Two remarks: 1. I was surprised of the error as well. But 2. I cannot remember someone complaining about this. So, although my memory may be failing me, for most it does not seem to be an issue. Maybe it's simply a technical limitation of the parser. Kind regards robert