mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* 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:
		
							parent
							
								
									a7ddb2e342
								
							
						
					
					
						commit
						23f6b5bdc4
					
				
					 3 changed files with 14 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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>
 | 
			
		||||
 | 
			
		||||
	* 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 VALUE
 | 
			
		||||
obj_enum_for(obj, enum_args)
 | 
			
		||||
obj_to_enum(obj, enum_args)
 | 
			
		||||
    VALUE obj, enum_args;
 | 
			
		||||
{
 | 
			
		||||
    rb_ary_unshift(enum_args, obj);
 | 
			
		||||
| 
						 | 
				
			
			@ -172,7 +172,8 @@ Init_enumerator()
 | 
			
		|||
{
 | 
			
		||||
    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");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ Methods:
 | 
			
		|||
 | 
			
		||||
Requiring this module also adds some methods to the Object class:
 | 
			
		||||
 | 
			
		||||
    to_enum(method = :each, *args)
 | 
			
		||||
    enum_for(method = :each, *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)
 | 
			
		||||
	    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.
 | 
			
		||||
 | 
			
		||||
    each_slice(n) {...}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue