There is a similar problem with "?" and "?:".

irb(main):001:0> ?2
=> 50
irb(main):002:0> sep = "x" * (true?2:1)
SyntaxError: compile error
(irb):2: parse error, unexpected ':', expecting ')'
sep = "x" * (true?2:1)
                     ^
         from (irb):2
irb(main):003:0> sep = "x" * (true ?2:1)
=> "xx"

Wolfgang Nádasi-Donner