Actions
Feature #21389
openSimplify Set#inspect output
Status:
Open
Assignee:
-
Target version:
-
Description
As Set is now a core collection class, it should have special inspect output. Ideally, inspect output should be suitable to eval, similar to array and hash (assuming the elements are also suitable to eval):
set = Set[1, 2, 3]
eval(set.inspect) == set # should be true
The simplest way to do this is to use the Set[] syntax:
Set[1, 2, 3].inspect
# => "Set[1, 2, 3]"
I've submitted a pull request that implements this: https://github.com/ruby/ruby/pull/13488
The pull request deliberately does not use any subclass name in the output, similar to array and hash. I think it is more important that users know they are dealing with a set than which subclass:
Class.new(Set)[]
# PR does: Set[]
# not: #<Class:0x00000c21c78699e0>[]
However, it's easy to change the PR to use a subclass name if that is desired.
Actions
Like0
Like0Like0Like0