Po co tworzyć referencje proxy do obiektu w Ruby, używając metody to_enum, a nie tylko bezpośrednio z obiektu? Nie mogę wymyślić żadnego praktycznego zastosowania tego, próbując zrozumieć tę koncepcję, aby ktoś mógł z niej skorzystać, ale wszystkie przykłady, które widziałem, wydają się bardzo banalne.Jaka jest zaleta tworzenia przeliczalnego obiektu przy użyciu to_enum w Ruby?
Na przykład, dlaczego używać:
"hello".enum_for(:each_char).map {|c| c.succ }
zamiast
"hello".each_char.map {|c| c.succ }
wiem, że jest to bardzo prosty przykład, czy ktoś ma jakieś przykłady świata rzeczywistego?
Jest to także przydatne, jeśli używasz bibliotek innych firm, które don” t zwraca moduł wyliczający. –