diff --git a/array.c b/array.c
index 524553a11918a1..15db69b2941ca4 100644
--- a/array.c
+++ b/array.c
@@ -2408,13 +2408,13 @@ rb_ary_values_at(int argc, VALUE *argv, VALUE ary)
* ary.select { |item| block } -> new_ary
* ary.select -> Enumerator
*
- * Invokes the given block passing in successive elements from +self+,
- * returning an array containing those elements for which the block returns
- * a +true+ value.
+ * Returns a new array containing all elements of ary
+ * for which block returns a true value.
+ * (see also Enumerable#select
).
*
- * See also Enumerable#select.
+ * If no block is given, an enumerator is returned instead.
*
- * If no block is given, an Enumerator is returned instead.
+ * [1,2,3,4,5].select { |num| num.even? } #=> [2, 4]
*
* a = %w{ a b c d e f }
* a.select { |v| v =~ /[aeiou]/ } #=> ["a", "e"]
diff --git a/enum.c b/enum.c
index a24b3d2692cbbb..6d91687cd56f3f 100644
--- a/enum.c
+++ b/enum.c
@@ -311,15 +311,17 @@ find_all_i(VALUE i, VALUE ary, int argc, VALUE *argv)
* enum.find_all -> an_enumerator
* enum.select -> an_enumerator
*
- * Returns an array containing all elements of enum for which
- * block is not false
(see also
- * Enumerable#reject
).
+ * Returns an array containing all elements of enum
+ * for which block returns a true value.
+ * (see also Enumerable#reject
).
*
* If no block is given, an enumerator is returned instead.
*
*
* (1..10).find_all { |i| i % 3 == 0 } #=> [3, 6, 9]
*
+ * [1,2,3,4,5].select { |num| num.even? } #=> [2, 4]
+ *
*/
static VALUE
@@ -352,12 +354,14 @@ reject_i(VALUE i, VALUE ary, int argc, VALUE *argv)
* enum.reject -> an_enumerator
*
* Returns an array for all elements of enum for which
- * block is false (see also Enumerable#find_all
).
+ * block returns false (see also Enumerable#find_all
).
*
* If no block is given, an enumerator is returned instead.
*
* (1..10).reject { |i| i % 3 == 0 } #=> [1, 2, 4, 5, 7, 8, 10]
*
+ * [1, 2, 3, 4, 5].reject { |num| num.even? } #=> [1, 3, 5]
+ *
*/
static VALUE