В чем разница между Set и Array в Ruby, за исключением того факта, что наборы сохраняют уникальные элементы, в то время как массивы могут содержать повторяющиеся элементы?
Set
Array
Они очень разные.
a[3]
[1, 'apple', String, 1, :banana]
Set.new
require 'set'
Для меня главное отличие в том, что Set s реализованы в виде хэшей, поэтому у вас есть O(1) тесты членства для элементов.
O(1)
Другое важное отличие заключается в реализации метода include?: массив сравнивает элементы на основе результата метода ==, а набор использует метод eql?.
include?
==
eql?