У меня есть объект Results, который содержит массив объектов result
, а также некоторую кешированную статистику об объектах в массиве. Я хотел бы, чтобы объект Results мог вести себя как массив. Мой первый разрез заключался в том, чтобы добавить такие методы, как этот
def <<(val)
@result_array << val
end
Это очень похоже на c-like, и я знаю, что Ruby имеет лучший способ.
Я также хотел бы иметь возможность сделать это
Results.each do |result|
result.do_stuff
end
но я не уверен, что метод each
действительно работает под капотом.
В настоящее время я просто возвращаю базовый массив с помощью метода и вызываю каждый из них, который не кажется самым элегантным решением.
Любая помощь будет оценена.