मैं कुछ एरलांग कोड में आया हूं जो मैं दोनों भाषाओं को सीखने और मतभेदों को समझने में मदद करने के लिए एलिक्सीर में परिवर्तित करने की कोशिश कर रहा हूं। सामान्य रूप से मैक्रोज़ और मेटाप्रोग्रामिंग एक विषय है जो मैं अभी भी अपने सिर को पाने की कोशिश कर रहा हूं, इसलिए उम्मीद है कि आप मेरी भ्रम को समझेंगे।एरलांग बनाम एलिक्सीर मैक्रोज़
Erlang कोड
-define(p2(MAT, REP),
p2(W = MAT ++ STM) -> m_rep(0, W, STM, REP))
% where m_rep is a function already defined.
मेरे लिए
, ऐसा लगता है उपरोक्त कोड में, वहाँ p2
मैक्रो है कि एक निजी समारोह m_rep
कहा जाता है के लिए नक्शे के दो अलग-अलग परिभाषाएं है। हालांकि एलिक्सिर में, ऐसा लगता है कि एक पैटर्न मिलान परिभाषा केवल संभव है। क्या एलिक्सिर में भी अलग-अलग होना संभव है?
मुझे नहीं पता कि आप सी और लिस्प से परिचित हैं, लेकिन एक साधारण सादृश्य यह होगा कि एरलांग के मैक्रोज़ सी मैक्रोज़ (यह सरल संकलन समय स्ट्रिंग प्रतिस्थापन है) की तरह हैं और एलिक्सीर मैक्रोज़ लिस्प मैक्रोज़ की तरह हैं (यह कोड है जो एएसटी में हेरफेर कर सकते हैं)। –
@OnorioCatenacci यह बहुत दिलचस्प है! मुझे समझने में मदद के लिए बहुत बहुत धन्यवाद। :-) – plotplot