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

From: knu@...
Date: 2014-05-27 12:28:26 UTC
List: ruby-core #62795
Issue #7226 has been updated by Akinori MUSHA.


Martin D=C3=BCrst wrote:
> 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 compli=
cated if additional performance is really needed.

If .to_a.join is what you want then you can and should live with it.

I implied by the phrase "far from efficient" that it would be against our e=
xpectation for #join to consume unnecessary time and space.  What .to_a.joi=
n would do is to iterate to accumulate to iterate to accumulate, which cert=
ainly involves unnecessary complexity.

> > In any case, the method would better be implemented in Enumerable rathe=
r than in Set,
>=20
> I agree.

Enumerable represents a stream, #join is a stream friendly operation by nat=
ure, and I believe no .to_a should take place there.

With all being said, Enumerable#join has a history of once being added and =
then removed later as seen in #1893.
We must work out a way to add it again, resolving the compatibility issue w=
ith Array#join somehow.

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

* 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

Prev Next