Issue #6721 has been updated by abinoam (Abinoam P. Marques Jr.).


=begin
May I give a name suggestion? 
Does "tap!" make sense in english?

(({2.tap {|x| x*2 }})) ((|# => 2|))

(({2.tap! {|x| x*2 }})) ((|# => 4|))

The exclamation mark alerts that the return value is being changed.

=end

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

Author: alexeymuranov (Alexey Muranov)
Status: Open
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: next minor


=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/