[前][次][番号順一覧][スレッド一覧]

ruby-changes:66104

From: Burdette <ko1@a...>
Date: Sun, 9 May 2021 04:50:36 +0900 (JST)
Subject: [ruby-changes:66104] 43380401fa (master): Enhanced RDoc for Enumerable (#4473)

https://git.ruby-lang.org/ruby.git/commit/?id=43380401fa

From 43380401facc3a7b739609c15cc94a2305bfff9e Mon Sep 17 00:00:00 2001
From: Burdette Lamar <BurdetteLamar@Y...>
Date: Sat, 8 May 2021 14:50:15 -0500
Subject: Enhanced RDoc for Enumerable (#4473)

Enhanced RDoc for Enumerable: #grep and #grep_v.
---
 enum.c | 60 +++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 39 insertions(+), 21 deletions(-)

diff --git a/enum.c b/enum.c
index b3a8f9e..15824e9 100644
--- a/enum.c
+++ b/enum.c
@@ -132,21 +132,28 @@ enum_grep0(VALUE obj, VALUE pat, VALUE test) https://github.com/ruby/ruby/blob/trunk/enum.c#L132
 }
 
 /*
- *  call-seq:
- *     enum.grep(pattern)                  -> array
- *     enum.grep(pattern) { |obj| block }  -> array
+ * call-seq:
+ *   grep(pattern) -> array
+ *   grep(pattern) {|element| ... } -> array
+ *
+ * Returns an array of objects based elements of +self+ that match the given pattern.
+ *
+ * With no block given, returns an array containing each element
+ * for which <tt>pattern === element</tt> is +true+:
+ *
+ *   a = ['foo', 'bar', 'car', 'moo']
+ *   a.grep(/ar/)                   # => ["bar", "car"]
+ *   (1..10).grep(3..8)             # => [3, 4, 5, 6, 7, 8]
+ *   ['a', 'b', 0, 1].grep(Integer) # => [0, 1]
  *
- *  Returns an array of every element in <i>enum</i> for which
- *  <code>Pattern === element</code>. If the optional <em>block</em> is
- *  supplied, each matching element is passed to it, and the block's
- *  result is stored in the output array.
+ * With a block given,
+ * calls the block with each matching element and returns an array containing each
+ * object returned by the block:
  *
- *     (1..100).grep 38..44   #=> [38, 39, 40, 41, 42, 43, 44]
- *     c = IO.constants
- *     c.grep(/SEEK/)         #=> [:SEEK_SET, :SEEK_CUR, :SEEK_END]
- *     res = c.grep(/SEEK/) { |v| IO.const_get(v) }
- *     res                    #=> [0, 1, 2]
+ *   a = ['foo', 'bar', 'car', 'moo']
+ *   a.grep(/ar/) {|element| element.upcase } # => ["BAR", "CAR"]
  *
+ * Related: #grep_v.
  */
 
 static VALUE
@@ -156,18 +163,29 @@ enum_grep(VALUE obj, VALUE pat) https://github.com/ruby/ruby/blob/trunk/enum.c#L163
 }
 
 /*
- *  call-seq:
- *     enum.grep_v(pattern)                  -> array
- *     enum.grep_v(pattern) { |obj| block }  -> array
+ * call-seq:
+ *   grep_v(pattern) -> array
+ *   grep_v(pattern) {|element| ... } -> array
+ *
+ * Returns an array of objects based on elements of +self+
+ * that <em>don't</em> match the given pattern.
+ *
+ * With no block given, returns an array containing each element
+ * for which <tt>pattern === element</tt> is +false+:
+ *
+ *   a = ['foo', 'bar', 'car', 'moo']
+ *   a.grep_v(/ar/)                   # => ["foo", "moo"]
+ *   (1..10).grep_v(3..8)             # => [1, 2, 9, 10]
+ *   ['a', 'b', 0, 1].grep_v(Integer) # => ["a", "b"]
  *
- *  Inverted version of Enumerable#grep.
- *  Returns an array of every element in <i>enum</i> for which
- *  not <code>Pattern === element</code>.
+ * With a block given,
+ * calls the block with each non-matching element and returns an array containing each
+ * object returned by the block:
  *
- *     (1..10).grep_v 2..5   #=> [1, 6, 7, 8, 9, 10]
- *     res =(1..10).grep_v(2..5) { |v| v * 2 }
- *     res                    #=> [2, 12, 14, 16, 18, 20]
+ *   a = ['foo', 'bar', 'car', 'moo']
+ *   a.grep_v(/ar/) {|element| element.upcase } # => ["FOO", "MOO"]
  *
+ * Related: #grep.
  */
 
 static VALUE
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]