Я хотел бы расширить класс Array
с помощью метода uniq_elements
, который возвращает те элементы с кратким числом. Я также хотел бы использовать закрытие для моего нового метода, как с uniq
. Например:
t=[1,2,2,3,4,4,5,6,7,7,8,9,9,9]
t.uniq_elements # => [1,3,5,6,8]
Пример с закрытием:
t=[1.0, 1.1, 2.0, 3.0, 3.4, 4.0, 4.2, 5.1, 5.7, 6.1, 6.2]
t.uniq_elements{|z| z.round} # => [2.0, 5.1]
Ни t-t.uniq
, ни t.to_set-t.uniq.to_set
не работает. Я не забочусь о скорости, я называю ее только один раз в своей программе, поэтому она может быть медленной.