Issue #13559 has been updated by Eregon (Benoit Daloze).


nobu (Nobuyoshi Nakada) wrote:
> And `let`... but it is used by RSpec.

Is that actually a problem?

https://github.com/rspec/rspec-core/blob/f4dc5ef5c6bded2b1ec348e856352b60a3e072e9/lib/rspec/core/memoized_helpers.rb#L249-L251
defines it on the example group, so I think it does not clash unless you want to use it inside the ExampleGroup itself, which seems useless (`self` already refers to the ExampleGroup).



----------------------------------------
Feature #13559: Change implementation of Feature #6721
https://bugs.ruby-lang.org/issues/13559#change-64795

* Author: dunrix (Damon Unrix)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
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.




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