2009-08-31 17 views
8

मैं एरलांग के लिए नया हूं। मिले एक मौजूदा Erlang परियोजना में निम्नलिखित मॉड्यूल विशेषता घोषणा:एरलांग: मॉड्यूल विशेषता

-module(mod_name, [Name, Path, Version]). 

क्या मतलब है दूसरा पैरामीटर (सूची [नाम, पथ, संस्करण]) यहाँ?

मुझे इस पर Erlang संदर्भ में कोई जानकारी नहीं मिली है।

+2

पैरामीटरयुक्त मॉड्यूल अभी तक आधिकारिक तौर पर एरलांग का हिस्सा नहीं हैं हालांकि वर्तमान वितरण उन्हें समर्थन देते हैं। नए होने के अलावा, सुरक्षित होने के लिए, आपको कभी भी एक पैरामीटिज्ड मॉड्यूल में फ़ंक्शंस को कॉल नहीं करना चाहिए। हमेशा नए से लौटाई गई गर्भ का उपयोग करें। – rvirding

+0

यदि पैरामीटरयुक्त मॉड्यूल हटा दिए जाते हैं तो फिर नया स्टॉप काम नहीं करेगा? – Zubair

+0

ये वास्तव में कहीं आधिकारिक रूप से दस्तावेज किया जाना चाहिए। अब व्यापक रूप से उपयोग किए जाने वाले ऐप्स हैं जो उनका उपयोग करते हैं (उदाहरण के लिए Mochiweb)। मोचीवेब में उनके उपयोग के उदाहरण के लिए, http://code.google.com/p/mochiweb/source/browse/trunk/src/mochiweb_request.erl –

उत्तर

11

यह एक पैरामीटरयुक्त एरलांग मॉड्यूल को परिभाषित करता है - एक जिसे आप नए के साथ "तत्काल" कर सकते हैं और फिर अपने मॉड्यूल में कोड निष्पादित करते समय उस नए द्वारा पारित पैरामीटर तक पहुंच सकते हैं।

एक बहुत ही संक्षिप्त सिंहावलोकन यहाँ है:

http://myotherpants.com/2009/04/parameterized-modules-in-erlang/

7

यह एक parametrized मॉड्यूल है। यहां original paper है। असल में आप मॉड्यूल के उदाहरणों को उन चरों पर विशिष्ट मान बाध्यकारी बना सकते हैं। आप के रूप में एक को प्रारंभ कर सकते हैं:

> Mod = mod_name:new("MyName", "/path", '0.1'). 

और उसके बाद के रूप में अपने कार्यों फोन:

> Mod:function(...) 

जहां मॉड्यूल पैरामीटर भी समारोह शरीर में उपलब्ध हैं।

संबंधित मुद्दे