你好自由职业者大师
我知道freemarker函数和宏之间的区别在于宏可以打印到输出,但不能返回值,而函数可以返回值但不能打印到输出.
好吧,我遇到了问题,因为我需要打印并返回值:
我正在使用freemarker进行递归树探索,因此我有一个宏被称为recurvively.在正在探索树时,我需要将节点信息打印到输出,还要计算并返回有关所探索节点的统计信息(例如,探索的节点的特定属性的总和)
如果我使用recurvively调用宏,我可以打印节点信息但不能将统计信息返回给调用实体.
如果我使用递归调用的函数,我可以返回统计信息,但不能在输出上打印节点信息.
一种解决方案可能是两次探索树,一次打印节点信息,另一种收集统计数据,但我不愿意使用这种不太优雅的解决方案.
有人能提出更好的解决方案吗?
谢谢
freemarker ×1