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

* node.c (dump_node): add today's knowledge. "init arguments (m)" and

"init arguments (p)" of compile.c indicates a Ruby code that
  evaluates multiple assignments that is in method or block
  parameters:  def foo((m1,m2), (m3,m4), *r, (p1,p2), (p3,p4)); end
  The former (init arguments (m)) evaluates the multiple assignments
  before rest argument, that are (m1,m2) and (m3,m4).  The letter
  (init arguments (p)) does ones after rest argument, that are
  (p1,p2) and (p3, p4).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2011-07-21 10:35:52 +00:00
parent 579f2a0aa8
commit e98c84519f
2 changed files with 14 additions and 0 deletions

View file

@ -1,3 +1,14 @@
Thu Jul 21 19:27:19 2011 Yusuke Endoh <mame@tsg.ne.jp>
* node.c (dump_node): add today's knowledge. "init arguments (m)" and
"init arguments (p)" of compile.c indicates a Ruby code that
evaluates multiple assignments that is in method or block
parameters: def foo((m1,m2), (m3,m4), *r, (p1,p2), (p3,p4)); end
The former (init arguments (m)) evaluates the multiple assignments
before rest argument, that are (m1,m2) and (m3,m4). The letter
(init arguments (p)) does ones after rest argument, that are
(p1,p2) and (p3, p4).
Thu Jul 21 18:11:07 2011 NARUSE, Yui <naruse@ruby-lang.org>
* enum.c (enum_inject): remove empty line to notify rdoc

3
node.c
View file

@ -866,6 +866,9 @@ dump_node(VALUE buf, VALUE indent, int comment, NODE *node)
else {
D_NODE_HEADER(node);
ANN("method parameters (cont'd)");
ANN("\"init arguments (m)\" evaluates multiple assignments before rest argument");
ANN("\"init arguments (p)\" evaluates multiple assignments after rest argument");
ANN("example: def foo((m1, m2), *r, (p1, p2))");
F_NODE(nd_1st, "init arguments (m)");
LAST_NODE;
F_NODE(nd_2nd, "init arguments (p)");