мне действительно нужно использовать что-то похожее на Single метод, который:Рубин Enumerator «Единый» метод
Возвращает единственный элемент последовательности и генерирует исключение, если не совсем один элемент в последовательности.
Очевидно, что я могу добавить расширение/уточнение для удобства.
Но что-то подобное уже существует? Возможно, в ActiveSupport или в другой библиотеке?
'e = [1, 2] .each; e.next; помещает e.single' отпечатки 2, что может не быть желаемым результатом. – steenslag
Это хороший способ справиться с проблемой, но разве вы не хотите, чтобы 'начинал' как первую строку' single'? Прямо сейчас, если 'self # => [] .to_enum',' self.next' вызовет исключение 'StopIteration', которое не будет обработано. –
@sreenslag делает интересный момент. Возможно, первая строка 'single' должна быть' self_cpy = dup', а затем работать с 'self.cpy'. –