diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | enumerator.c | 6 |
2 files changed, 12 insertions, 3 deletions
@@ -1,3 +1,10 @@ +Mon Mar 19 15:36:41 2012 Shugo Maeda <shugo@ruby-lang.org> + + * enumerator.c (enumerable_lazy): add an example of take and first + to the documentation. [ruby-core:43344] [Bug #6158] + add the description of the behavior when a block is given to zip + or cycle. + Mon Mar 19 15:20:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * compile.c (iseq_specialized_instruction): DRY and replace chain @@ -150,7 +157,7 @@ Thu Mar 15 17:45:27 2012 Shugo Maeda <shugo@ruby-lang.org> Thu Mar 15 16:37:38 2012 Shugo Maeda <shugo@ruby-lang.org> - * enumerator.c (enumerator_lazy): added cycle to the documentation. + * enumerator.c (enumerable_lazy): added cycle to the documentation. Thu Mar 15 15:37:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> diff --git a/enumerator.c b/enumerator.c index a83f3ca61e..9484f495cc 100644 --- a/enumerator.c +++ b/enumerator.c @@ -1244,7 +1244,8 @@ lazy_initialize(int argc, VALUE *argv, VALUE self) * Returns a lazy enumerator, whose methods map/collect, * flat_map/collect_concat, select/find_all, reject, grep, zip, take, * take_while, drop, drop_while, and cycle enumerate values only on an - * as-needed basis. + * as-needed basis. However, if a block is given to zip or cycle, values + * are enumerated immediately. * * === Example * @@ -1262,7 +1263,8 @@ lazy_initialize(int argc, VALUE *argv, VALUE self) * } * end * # show first ten pythagorean triples - * p pythagorean_triples.take(10).force + * p pythagorean_triples.take(10).force # take is lazy, so force is needed + * p pythagorean_triples.first(10) # first is eager * # show pythagorean triples less than 100 * p pythagorean_triples.take_while { |*, z| z < 100 }.force */ |