Issue #14778 has been updated by shyouhei (Shyouhei Urabe).

Status changed from Open to Feedback

Not an immediate NG, but curious why we should do this in core, instead of your gem?

Would you mind telling us the reason this should be enabled for all the ruby users around the world?

----------------------------------------
Feature #14778: Make Object#dup accept a block
https://bugs.ruby-lang.org/issues/14778#change-72202

* Author: hkdnet (Ko Sato)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I'd like to use `Object#dup` with a block, which is equivalent to `dup.tap`.

An example for `dup.tap` is here.

```ruby
require 'uri'

module MyUri
  class << self
    def foo_uri
      base_uri.dup.tap { |e| e.path = '/foo' }
    end

    private

    def base_uri
      @base_uri ||= URI.parse('http://example.com')
    end
  end
end
```

With this patch, we can write `base_uri.dup { |e| e.path = '/foo' }` and it's simpler.

---Files--------------------------------
dup_with_block.diff (296 Bytes)


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