Project

General

Profile

Actions

Bug #14069

closed

Document order of elements in Set

Added by abotalov (Andrei Botalov) about 7 years ago. Updated about 5 years ago.

Status:
Rejected
Target version:
-
ruby -v:
2.4
[ruby-core:83614]

Description

Hash enumerates values in the insertion order.

Set is built on Hash so it does the same.
However, this is currently believed to be a not documented implementation detail. See:
https://stackoverflow.com/a/14468621/841064
https://stackoverflow.com/questions/10361250/does-set-in-ruby-always-preserve-insertion-order#comment13351258_10361275
https://spin.atomicobject.com/2012/09/04/when-is-a-set-better-than-an-array-in-ruby/

I think it would be better to explicitly document that Set class enumerates keys in the insertion order.

Updated by jwmittag (Jörg W Mittag) almost 7 years ago

Is that actually guaranteed by the specification? Can you point to any specification or documentation or official statement by the core team that supports your assertion that sets are insertion-ordered?

Updated by jeremyevans0 (Jeremy Evans) over 5 years ago

  • Status changed from Open to Assigned
  • Assignee set to knu (Akinori MUSHA)

I believe the fact that sets are currently insertion ordered due to the use of hash is an implementation detail, and we shouldn't document it.

Actions #3

Updated by jeremyevans0 (Jeremy Evans) about 5 years ago

  • Status changed from Assigned to Rejected
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0