Project

General

Profile

Feature #13559

Updated by nobu (Nobuyoshi Nakada) about 3 years ago

Hi, 

 please reconsider implementation of feature request #6721 planned for Ruby 2.5.0 . 

 Instead of introducing new method `Object#yield_self`, just reuse existing `Object#itself` by taking an optional block argument. 

 Find it much clearer and more logical solution, not superfluous polluting of API space. 
 `Object#itself` just returns target object, optional block would return alternative value with target object passed as block argument. 

 Prototyped sol. in Ruby: 

 ~~~ruby ~~~ 
 class Object 
   def itself 
     block_given? ? yield(self) : self 
   end 
 end 
 ~~~ 

 Not aware of any case, where it would break backward compatibility. 

Back