एर्लैंग - प्रीप्रोसेसर

एर्लैंग मॉड्यूल संकलित होने से पहले, यह स्वचालित रूप से एरलैंग प्रीप्रोसेसर द्वारा संसाधित किया जाता है। प्रीप्रोसेसर किसी भी मैक्रो का विस्तार करता है जो स्रोत फ़ाइल में हो सकता है और किसी भी आवश्यक फ़ाइल को सम्मिलित करता है।

आमतौर पर, आपको प्रीप्रोसेसर के आउटपुट को देखने की आवश्यकता नहीं होगी, लेकिन असाधारण परिस्थितियों में (उदाहरण के लिए, जब एक दोषपूर्ण मैक्रो को डीबग करते हुए), तो आप प्रीप्रोसेसर के आउटपुट को सहेजना चाह सकते हैं। मॉड्यूल प्रीप्रोसेसिंग के परिणाम को देखने के लिएsome_module.erl OS शेल कमांड दें।

erlc -P some_module.erl

उदाहरण के लिए, मान लें कि हमारे पास निम्न कोड फ़ाइल थी -

उदाहरण

-module(helloworld). 
-export([start/0]). 
-include("user.hrl"). 

start() -> 
   io:fwrite("~w",[?macro1(1,2)]).

और अगर हमने कमांड लाइन से निम्न कमांड निष्पादित की है -

erlc –P helloworld.erl

नामक एक फाइल helloworld.Pउत्पन्न होगा। यदि आप इस फ़ाइल को खोलते हैं, तो आपको निम्नलिखित सामग्रियां मिलेंगी जो कि प्रीप्रोसेसर संकलित करेगा।

-file("helloworld.erl", 1). -module(helloworld).

-export([start/0]).
-file("user.hrl", 1).
-file("helloworld.erl", 3).

start() ->
   io:fwrite("~w", [{1 + 2}]).