Issue #14821 has been updated by duerst (Martin Drst).

Tracker changed from Bug to Feature
Backport deleted (2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN)

This is clearly a feature, so I have changed it from bug to feature.

The usage examples are still a bit abstract, some more concrete examples would be desirable.

----------------------------------------
Feature #14821: aditional arguments to yield_self
https://bugs.ruby-lang.org/issues/14821#change-72369

* Author: DarkWiiPlayer (Dennis Fischer)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Currently, `yield_self` only accepts a block as its single argument. I propose that it should also accept a series of additional arguments that get passed to the block after `self`

This is what I mean:

    def yield_self(*args, &block)
      block.call(self, *args)
    end

which would allow writing code like this

    some_object.yield_self(:name, :surname, &sort_stuff).do_more_stuff()

instead of code like this

    some_object.yield_self{|x| sort_stuff.call(x, :name, :surname).do_more_stuff()

This 1) is shorter 2) expresses intention rather than implementation.



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>