Issue #10095 has been updated by Robert A. Heiler.


Guys, your chosen names are awful so far. :)


revapply is ugly, it does not fit to ruby.

#as is not descriptive enough.

In english language, remember:

"I am as big as him."

So using "as" is not a good name either.

.chain is not bad but not ideal either, because when I read it, I wonder where the chain is (remember:  foo.bar.bla.ble is also a chain, a method invocation chain)

I quite like the idea behind self_by, not sure I like self_by but I think it is a better name than .as

how about .blocK_self ?

or perhaps a yield_ name ...

yield_block

----------------------------------------
Feature #10095: Object#as
https://bugs.ruby-lang.org/issues/10095#change-48232

* Author: Akira Matsuda
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
----------------------------------------
We've had so many times of feature requests for a method similar to Object#tap that doesn't return self but returns the given block's execution result (e.g. #7388, #6684, #6721 ).

I'm talking about something like this in Ruby of course:
Object.class_eval { def as() yield(self) end }

IIRC Matz is not against introducing this feature but he didn't like any of the names proposed in the past, such as embed, do, identity, ergo, reference, yield_self, itself, apply, map, tap!, etc.

So, let us propose a new name, Object#as today.
It's named from the aspect of the feature that it gives the receiver a new name "as" a block local variable.
For instance, the code reads so natural and intuitive like this:

(1 + 2 + 3 + 4).as {|x| x ** 2}
=> 100

Array.new.as {|a| a << 1; a << 2}
=> [1, 2]



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