[ruby-core:62794] [ruby-trunk - Feature #7226] Add Set#join method as a shortcut for to_a.join

From: duerst@...
Date: 2014-05-27 10:34:04 UTC
List: ruby-core #62794
Issue #7226 has been updated by Martin D=C3=BCrst.


Akinori MUSHA wrote:
> The proposed implementation is far from efficient, collecting all element=
s into a temporary array only for calling Array#join.
>=20
> 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 o=
ften better to start with a simple implementation and make it more complica=
ted 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.=20
This patch that adds a #join method to Set, which is a shortcut for `to_a.j=
oin`.


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


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

In This Thread