Требования для включения Enumerable

Я пытался разработать свою структуру данных Array только для чтения, и мне очень нравится идея предоставления параметров обхода с помощью класса Enumerable, но я не могу найти требования к нему. В некоторых примерах, которые я смотрел, реализация C ищет метод #each, но мне кажется, что этого может быть недостаточно.


person farnoy    schedule 20.01.2012    source источник
comment
К вашему сведению, Enumerable — это модуль, а не класс.   -  person Frost    schedule 20.01.2012


Ответы (1)


Из кирки стр. 474, а также из основной документации:

Класс [смешанный с Enumerable] должен предоставлять метод each, который дает последовательные элементы коллекции. Если используются Enumerable#max, min, sort или sort_by, объекты в коллекции также должны реализовывать осмысленный оператор <=>, поскольку эти методы основаны на упорядочении элементов коллекции.

person Wayne Conrad    schedule 20.01.2012
comment
То же самое сказано в документации по ruby: ruby-doc.org/core-1.9.3 /Enumerable.html - person Aliaksei Kliuchnikau; 20.01.2012
comment
@Алекс, спасибо. Я добавил эту ссылку в ответ. - person Wayne Conrad; 20.01.2012