Issue #6721 has been updated by alexeymuranov (Alexey Muranov).


=begin
jballanc (Joshua Ballanco) wrote:
> How is this significantly different than Object#tap?

It executes the block and returns its output.  For example:

 puts "2*2 = #{ 2.yield_self { |x| x*x } }"
=end

----------------------------------------
Feature #6721: Object#yield_self
https://bugs.ruby-lang.org/issues/6721#change-27939

Author: alexeymuranov (Alexey Muranov)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


=begin
I think the following method is missing from Ruby:

 class Object
   def yield_self(*args)
     yield(self, *args)
   end
 end

I do not know a good use case, but it looks very natural to me.  It can be used in method chains.

What do you think?  Is there an alternative?
=end



-- 
http://bugs.ruby-lang.org/