1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

An operator is not allowed just after |>

https://twitter.com/yukihiro_matz/status/1139454774640726019
This commit is contained in:
Nobuyoshi Nakada 2019-06-14 18:09:45 +09:00
parent d780c36624
commit d365fd5a02
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60
2 changed files with 5 additions and 4 deletions

View file

@ -1499,28 +1499,28 @@ expr : command_call
| pipeline | pipeline
; ;
pipeline : expr tPIPE operation2 opt_paren_args pipeline : expr tPIPE operation opt_paren_args
{ {
/*%%%*/ /*%%%*/
$$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, Qnull, &@3, &@$); $$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, Qnull, &@3, &@$);
/*% %*/ /*% %*/
/*% ripper: command_call!($1, ID2VAL(idPIPE), $3, $4) %*/ /*% ripper: command_call!($1, ID2VAL(idPIPE), $3, $4) %*/
} }
| expr tPIPE operation2 opt_paren_args brace_block | expr tPIPE operation opt_paren_args brace_block
{ {
/*%%%*/ /*%%%*/
$$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, $5, &@3, &@$); $$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, $5, &@3, &@$);
/*% %*/ /*% %*/
/*% ripper: method_add_block!(command_call!($1, ID2VAL(idPIPE), $3, $4), $5) %*/ /*% ripper: method_add_block!(command_call!($1, ID2VAL(idPIPE), $3, $4), $5) %*/
} }
| expr tPIPE operation2 command_args | expr tPIPE operation command_args
{ {
/*%%%*/ /*%%%*/
$$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, Qnull, &@3, &@$); $$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, Qnull, &@3, &@$);
/*% %*/ /*% %*/
/*% ripper: command_call!($1, ID2VAL(idPIPE), $3, $4) %*/ /*% ripper: command_call!($1, ID2VAL(idPIPE), $3, $4) %*/
} }
| expr tPIPE operation2 command_args do_block | expr tPIPE operation command_args do_block
{ {
/*%%%*/ /*%%%*/
$$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, $5, &@3, &@$); $$ = new_command_qcall(p, ID2VAL(idPIPE), $1, $3, $4, $5, &@3, &@$);

View file

@ -1385,6 +1385,7 @@ eom
assert_equal("121", eval('x = 12 |> pow(2) |> to_s 11')) assert_equal("121", eval('x = 12 |> pow(2) |> to_s 11'))
assert_equal(12, x) assert_equal(12, x)
assert_equal([2, 4, 6], eval("1.. |> take 3\n|> map do @1 * 2 end")) assert_equal([2, 4, 6], eval("1.. |> take 3\n|> map do @1 * 2 end"))
assert_syntax_error('a|>-b', /unexpected '-'/)
end end
private private