2012-11-28 9 views
7
-export([consult/1, 
     dump/2, 
     first/1, 
     for/3, 
     is_prefix/2). 

मेगा-एर्लांग के बारे में उत्साहित। मैं दस्तावेज पढ़ रहा हूं और उपरोक्त वाक्यविन्यास के साथ उलझन में हूं। उपर्युक्त सूची में/1,/2,/3 का अर्थ क्या है?एरलांग निर्यात वाक्यविन्यास/एक्स समझ

धन्यवाद, दिमित्री

उत्तर

12

/1 के लिए documentation से परामर्श करें,/2,/3, आदि समारोह के "Arity" के रूप में, arity कि समारोह द्वारा स्वीकार तर्क की संख्या अर्थ में भेजा जाता है।

एरलांग में, एक ही नाम के दो कार्य, लेकिन विभिन्न धर्मार्थियों के साथ दो अलग-अलग कार्य होते हैं, और जैसे प्रत्येक को स्पष्ट रूप से निर्यात किया जाता है।

उदाहरण के लिए

, यदि आप दो कार्यों:

do_something() -> does_something(). 

do_something(SomeArg) -> some_something_else(SomeArg). 

और अपने मॉड्यूल के शीर्ष पर, आप के लिए किया था केवल

-export([do_something/0]). 

तो केवल शून्य तर्क के साथ do_something निर्यात किया जा सकता है (कि प्रणाली में अन्य मॉड्यूल से सुलभ है)।

+0

धन्यवाद! अगर मेरे पास एक ही नाम के 3 कार्य हैं लेकिन पैरामीटर के विभिन्न सेट (2,3,4) के साथ, जब मैं निर्यात करता हूं/4 - क्या इसका मतलब यह है कि कम धर्मार्थ वाले कार्यों को भी निर्यात किया जाएगा? – DmitrySemenov

+1

यह वास्तव में नहीं है। आपको फ़ंक्शन के प्रत्येक संस्करण को अलग से निर्यात करना होगा। तो अगर आपको लगता है कि समारोह के सभी संस्करणों का निर्यात करना चाहता था (arities 2,3 और साथ 4), तुम क्या करने 'निर्यात ([/ 4 समारोह/2, में कार्य/3, समारोह])।' – chops

+0

मिला होगा यह - धन्यवाद! – DmitrySemenov

1

यह समारोह हस्ताक्षर है।

consult/1 का मतलब समारोह consult नामित एक तर्क स्वीकार करता है। dump/2 का अर्थ है कि फ़ंक्शन dump दो तर्क स्वीकार करता है।

अधिक जानकारी