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

Relaxed of R-assign value to arg

This commit is contained in:
Nobuyoshi Nakada 2020-04-12 00:07:57 +09:00
parent 93edbb4c08
commit 022c7bbea9
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
2 changed files with 3 additions and 6 deletions

View file

@ -1506,18 +1506,16 @@ stmt : keyword_alias fitem {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);} fitem
| expr | expr
; ;
rassign : primary tASSOC lhs rassign : arg_value tASSOC lhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: assign!($3, $1) %*/ /*% ripper: assign!($3, $1) %*/
} }
| primary tASSOC mlhs | arg_value tASSOC mlhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: massign!($3, $1) %*/ /*% ripper: massign!($3, $1) %*/
@ -1525,7 +1523,6 @@ rassign : primary tASSOC lhs
| rassign tASSOC lhs | rassign tASSOC lhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: assign!($3, $1) %*/ /*% ripper: assign!($3, $1) %*/
@ -1533,7 +1530,6 @@ rassign : primary tASSOC lhs
| rassign tASSOC mlhs | rassign tASSOC mlhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: massign!($3, $1) %*/ /*% ripper: massign!($3, $1) %*/

View file

@ -1571,6 +1571,7 @@ eom
assert_equal([2,3], eval("13.divmod(5) => a,b; [a, b]")) assert_equal([2,3], eval("13.divmod(5) => a,b; [a, b]"))
assert_equal([2,3,2,3], eval("13.divmod(5) => a,b => c, d; [a, b, c, d]")) assert_equal([2,3,2,3], eval("13.divmod(5) => a,b => c, d; [a, b, c, d]"))
assert_equal([2,3], eval("13.divmod(5)\n => a,b; [a, b]")) assert_equal([2,3], eval("13.divmod(5)\n => a,b; [a, b]"))
assert_equal(3, eval("1+2 => a"))
end end
private private