|
From e7494d5b941a518cad6242a83727cb6561c3136d Mon Sep 17 00:00:00 2001
|
|
From: Adam Isom <adam.r.isom@gmail.com>
|
|
Date: Thu, 16 Jan 2020 14:42:36 -0700
|
|
Subject: [PATCH] Update documentation for Array/Hash Argument section of
|
|
methods.rdoc
|
|
|
|
---
|
|
doc/syntax/methods.rdoc | 15 +++++++++++++--
|
|
1 file changed, 13 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/doc/syntax/methods.rdoc b/doc/syntax/methods.rdoc
|
|
index 924e31611f15..c11bd449bc99 100644
|
|
--- a/doc/syntax/methods.rdoc
|
|
+++ b/doc/syntax/methods.rdoc
|
|
@@ -379,12 +379,23 @@ converted to an Array:
|
|
|
|
gather_arguments 1, 2, 3 # prints [1, 2, 3]
|
|
|
|
-The array argument must be the last positional argument, it must appear before
|
|
-any keyword arguments.
|
|
+The array argument must appear before any keyword arguments.
|
|
+
|
|
+It is possible to gather arguments at the beginning or in the middle:
|
|
+
|
|
+ def gather_arguments(first_arg, *middle_arguments, last_arg)
|
|
+ p middle_arguments
|
|
+ end
|
|
+
|
|
+ gather_arguments 1, 2, 3, 4 # prints [2, 3]
|
|
|
|
The array argument will capture a Hash as the last entry if a hash was sent by
|
|
the caller after all positional arguments.
|
|
|
|
+ def gather_arguments(*arguments)
|
|
+ p arguments
|
|
+ end
|
|
+
|
|
gather_arguments 1, a: 2 # prints [1, {:a=>2}]
|
|
|
|
However, this only occurs if the method does not declare any keyword arguments.
|