На самом деле вы ничего не делаете с вызовом карты, ваша функция примерно эквивалентна этой:
[1,2,2,3,4].uniq {|number| p number < 2 }
Методы типа map
возвращают тип Enumerable
, и вы затем вызываете uniq
на этом Enumerable
.Из документов Ruby :
Если блок не указан, вместо него возвращается Enumerator.
По сути, ваша карта не используется.
Я думаю, вы также неправильно понимаете метод uniq
.Uniq
собирается отфильтровать любые элементы из массива, которые не являются уникальными (например, [1, 1, 2, 3, 3, 4, 5].uniq == [1, 2, 3, 4, 5]
), а не возвращать, является ли элемент уникальным (истина или ложь) в массиве.