Witam freemarkers gurufunkcje freemarker vs makra
Rozumiem, że różnica między funkcjami freemarker i makr jest to, że makra mogą drukować do wyjścia, ale nie może zwracać wartości, podczas gdy funkcje mogą zwracać wartości, ale nie można drukować na wyjściu.
Cóż, mam problem, bo muszę się zarówno do wydrukowania i zwracane wartości:
robie rekurencyjną eksploracji drzewo z freemarker i dlatego mam makro miano recurvively. Podczas eksploracji drzewa potrzebuję zarówno wydrukować informacje o węźle na wyjściu, ale także obliczać i zwracać statystyki dotyczące eksplorowanych węzłów (na przykład suma określonej właściwości eksplorowanych węzłów)
Jeśli używam makro nazywany jest recurvively mogę drukować informacje węzła, ale nie może powrócić do statystyk podmiotu wywołującego.
Gdybym użyć funkcji rekursywnie nazwie, mogę powrócić statystyki, ale nie można drukować informacje węzła na wyjściu.
Jednym z rozwiązań mogłoby być zbadanie drzewa dwa razy, raz, aby wydrukować informacje węzłów i innym do gromadzenia danych statystycznych, ale nie chciałbym używać tego unelegant rozwiązanie.
Czy ktoś może zaproponować lepsze rozwiązanie?
Dzięki