Issue #7226 has been updated by Martin Drst.


Akinori MUSHA wrote:
> The proposed implementation is far from efficient, collecting all elements into a temporary array only for calling Array#join.
> 
> It wouldn't be worth having it unless it went something like this: inject(nil) { |s, o| s.nil? ? "#{o}" : s << "#{sep}#{o}" } || ''

I tried some very simple cases, and didn't see much of a difference. It's often better to start with a simple implementation and make it more complicated if additional performance is really needed.

> In any case, the method would better be implemented in Enumerable rather than in Set,

I agree.


----------------------------------------
Feature #7226: Add Set#join method as a shortcut for to_a.join
https://bugs.ruby-lang.org/issues/7226#change-46909

* Author: Nathan Broadbent
* Status: Rejected
* Priority: Normal
* Assignee: Akinori MUSHA
* Category: lib
* Target version: next minor
----------------------------------------
I was surprised that `Set.new.join` gives me a NoMethodError. 
This patch that adds a #join method to Set, which is a shortcut for `to_a.join`.


---Files--------------------------------
add_join_to_set.patch (788 Bytes)
add_join_to_set.patch (756 Bytes)


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