From: devdev Date: 2006-09-21T23:45:14+09:00 Subject: Re: the point of omitting parentheses The point of being able to omit parentheses is to make it easier to write Domain Specific Languages (DSLs).The lack of parentheses makes it easier to create DLSs that consist of declared syntaxes or grammars, but have the DSL itself still be pure Ruby. Also by parentheses being optional, we can create a DSL for Ruby itself, in effect creating constructs which look and act like reserve word extensions to Ruby. Henrik Schmidt wrote: > Hi there, > > I'm fairly new to Ruby, so bear with me. Anyway, on with the question. > > What is the benefit of being able to omit parentheses on a method call? > IMHO, parentheses improves readability; I can instantly discern, whether > something is a method call or a variable. It would seem to me, that > readability is, at least, part of the reason for the @-prefix on > instance variables, thus making it difficult for a human reader to > confuse them with local variables. Why not force a similar convention on > method calls, namely explicit parentheses? > > In addition, this feature allows you to do stuff like this: > > def foo > 42 > end > > foo # -> 42 > foo = 1 if false > foo # -> nil > > I generally like the language but dead code with side effects makes me > nervous. > > Could anyone explain to me, why it's a good idea to have the option of > omitting parentheses on a method call? > > Best Regards, > Henrik Schmidt