зеркало из https://github.com/github/ruby.git
* ext/enumerator/enumerator.c, ext/enumerator/enumerator.txt:
Provide Kernel#to_enum as an alias for Kernel#enum_for. Maybe this is a better name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
a7ddb2e342
Коммит
23f6b5bdc4
|
@ -1,3 +1,9 @@
|
||||||
|
Fri Oct 17 23:07:38 2003 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
|
* ext/enumerator/enumerator.c, ext/enumerator/enumerator.txt:
|
||||||
|
Provide Kernel#to_enum as an alias for Kernel#enum_for. Maybe
|
||||||
|
this is a better name.
|
||||||
|
|
||||||
Fri Oct 17 23:00:30 2003 Akinori MUSHA <knu@iDaemons.org>
|
Fri Oct 17 23:00:30 2003 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
* lib/generator.rb: Add rdoc documentation.
|
* lib/generator.rb: Add rdoc documentation.
|
||||||
|
|
|
@ -20,7 +20,7 @@ static ID sym_each, sym_each_with_index, sym_each_slice, sym_each_cons;
|
||||||
static ID id_new, id_enum_obj, id_enum_method, id_enum_args;
|
static ID id_new, id_enum_obj, id_enum_method, id_enum_args;
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
obj_enum_for(obj, enum_args)
|
obj_to_enum(obj, enum_args)
|
||||||
VALUE obj, enum_args;
|
VALUE obj, enum_args;
|
||||||
{
|
{
|
||||||
rb_ary_unshift(enum_args, obj);
|
rb_ary_unshift(enum_args, obj);
|
||||||
|
@ -172,7 +172,8 @@ Init_enumerator()
|
||||||
{
|
{
|
||||||
VALUE rb_mEnumerable;
|
VALUE rb_mEnumerable;
|
||||||
|
|
||||||
rb_define_method(rb_mKernel, "enum_for", obj_enum_for, -2);
|
rb_define_method(rb_mKernel, "to_enum", obj_to_enum, -2);
|
||||||
|
rb_define_method(rb_mKernel, "enum_for", obj_to_enum, -2);
|
||||||
|
|
||||||
rb_mEnumerable = rb_path2class("Enumerable");
|
rb_mEnumerable = rb_path2class("Enumerable");
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ Methods:
|
||||||
|
|
||||||
Requiring this module also adds some methods to the Object class:
|
Requiring this module also adds some methods to the Object class:
|
||||||
|
|
||||||
|
to_enum(method = :each, *args)
|
||||||
enum_for(method = :each, *args)
|
enum_for(method = :each, *args)
|
||||||
|
|
||||||
Returns Enumerable::Enumerator.new(self, method, *args).
|
Returns Enumerable::Enumerator.new(self, method, *args).
|
||||||
|
@ -48,6 +49,10 @@ Requiring this module also adds some methods to the Object class:
|
||||||
enum = str.enum_for(:each_byte)
|
enum = str.enum_for(:each_byte)
|
||||||
a = enum.map {|b| '%02x' % b } #=> ["78", "79", "7a"]
|
a = enum.map {|b| '%02x' % b } #=> ["78", "79", "7a"]
|
||||||
|
|
||||||
|
# protects an array from being modified
|
||||||
|
a = [1, 2, 3]
|
||||||
|
some_method(a.to_enum)
|
||||||
|
|
||||||
And the Enumerable module.
|
And the Enumerable module.
|
||||||
|
|
||||||
each_slice(n) {...}
|
each_slice(n) {...}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче