Probably for the same reason that this works:
```ruby
irb(main):001:0> true ? foo: 5
NameError: undefined local variable or method `foo' for main:Object
```
As in, the ternary operator has higher precedence in the Ruby parser.