Set vs Array , difference
They are very different.
Array
- An array is an ordered list of objects.
- An array value can be accessed by referencing its integer position in the list (zero-indexed):
a[3]
references the 4th object in the array. - There is no restriction on what the values can be—duplicate values are allowed in arrays.
- An array has an object literal notation:
[1, 'apple', String, 1, :banana]
(this creates and initializes a new Array). - Arrays are built in to the core ruby library.
Set
- A set is an unordered pool of unique objects.
- Since it's unordered, there is no integer index you can use to access specific elements of a set.
- The uniqueness restriction means you can't have more than one copy of a value in the set.
Set
is not part of the core, but part of the standard library, and thus needs arequire 'set'
.- Before Ruby 2.4, there was no object literal notation for sets, you had to create them via
Set.new
.- For Ruby >= 2.4.0 you can use
Set[]
(e.g.Set[1,2,3]
)
- For Ruby >= 2.4.0 you can use