On Nov 21, 2005, at 11:37 PM, Stefan Kaes wrote:

> I find it rather inelegant to be forced into writing
>
>   if x = options[:x]
>     f(x)
>   end
>
> or even
>
>  f(options[:x]) if options[:x]
>
> instead of
>
>  f(x) if x=options[:x]
>
> The Rails source code is literally messed up with the second  
> variant, which is potentially slower too.

I'm really not a fan of

    do thing if condition

because to understand what it's doing I have to read it backwards.  
It's like the old Mark Twain joke about reading a German newspaper.  
<URL:http://www.crossmyt.com/hc/linghebr/awfgrmlg.html>

I'm guessing that's why Ruby doesn't have post-test loops either--to  
discourage "German sentence" programming.


mathew