Issue #10653 has been reported by Shinta Koyanagi.
Bug #10653: do-end block in ternary operator is syntax error
- Author: Shinta Koyanagi
- Status: Open
- Priority: Normal
- Assignee: Yukihiro M.
- Category: syntax
- Target version:
- ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
- Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
- For example
ruby -v -e 'true ? 1.tap do |n| p n end : 0'
- Result by 2.1.5
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
1
- Result by 2.2.0
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
-e:1: syntax error, unexpected keyword_do_cond, expecting ':'
true ? 1.tap do |n| p n end : 0
^
-e:1: syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{'
or '('
true ? 1.tap do |n| p n end : 0
^