हैलो freemarkers गुरुfreemarker कार्यों बनाम मैक्रो
मैं समझता हूँ कि freemarker कार्यों और मैक्रोज़ के बीच अंतर यह है कि मैक्रो उत्पादन के लिए मुद्रित कर सकते हैं, लेकिन मान नहीं कर सकते, कार्यों मान सकते हैं, जबकि लेकिन उत्पादन के लिए मुद्रित नहीं कर सकते है।
ठीक है, मैं एक समस्या हो रहा है, क्योंकि मैं दोनों प्रिंट और मान की जरूरत है:
मैं freemarker साथ पुनरावर्ती पेड़ अन्वेषण कर रहा हूँ और इसलिए मैं एक मैक्रो recurvively बुलाया जा रहा है। जैसा कि पेड़ की खोज की जा रही है, मुझे आउटपुट में नोड जानकारी मुद्रित करने की आवश्यकता है, लेकिन नोड्स के अन्वेषण के बारे में आंकड़ों की गणना और वापसी भी करें (उदाहरण के लिए नोड्स की एक विशिष्ट संपत्ति का योग)
यदि मैक्रो का उपयोग करता हूं पुनरावर्तक कहा जा रहा है मैं नोड जानकारी मुद्रित कर सकता हूं लेकिन आंकड़े कॉलिंग इकाई को वापस नहीं कर सकता।
यदि मैं दोबारा फ़ंक्शन का उपयोग करता हूं, तो मैं आंकड़े वापस कर सकता हूं लेकिन आउटपुट पर नोड जानकारी मुद्रित नहीं कर सकता।
एक समाधान दो बार पेड़ का पता लगाने के लिए हो सकता है, एक बार नोड सूचनाओं को प्रिंट करने के लिए और दूसरे आंकड़ों को इकट्ठा करने के लिए, लेकिन मैं इस अजीब समाधान का उपयोग करने से नफरत करता हूं।
क्या कोई बेहतर समाधान का प्रस्ताव दे सकता है?
धन्यवाद