On 8/1/08, Patrick Li <patrickli_2001 / hotmail.com> wrote:
> Nope. that's not quite it. i'm really quite stumped.
>
> syntax error, unexpected tSYMBEG, expecting ')' (SyntaxError)
>    if(FieldTypes.key? field && FieldTypes[field].respond_to? :select)
>                                                               ^  from
> -e:1

Apparently the parser just can't recognize function calls inside
conditions unless they have the parens:

irb(main):013:0> if (true && p 1)
irb(main):014:1> p :hi; end
SyntaxError: compile error
(irb):13: syntax error, unexpected tINTEGER, expecting kDO or '{' or '('
if (true && p 1)
               ^

irb(main):015:0> while (true && "s".index 's')
irb(main):016:1> p :loop
irb(main):017:1> end
SyntaxError: compile error
(irb):15: syntax error, unexpected tSTRING_BEG, expecting ')'
while (true && "s".index 's')
                          ^