У меня есть класс Ruby
class MyClass
attr_writer :item1, :item2
end
my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []
Я хочу , чтобы подтолкнуть MyClass#item1
к unique_array_of_item1
, но только если unique_array_of_item1
не содержит , что до item1
сих пор. Я знаю простое решение: просто выполните итерацию my_array
и проверьте, unique_array_of_item1
содержит ли уже текущий item1
или нет.
Есть ли более эффективное решение?
Set#each
иSet#to_a
), делегируются@hash
. А по состоянию на Ruby 1.9 Хеши заказаны. «Хеши перечисляют свои значения в том порядке, в котором были вставлены соответствующие ключи». ruby-doc.org/core-1.9.1/Hash.html