व्यंजना - प्रक्रिया
एक प्रक्रिया पुन: प्रयोज्य कोड का एक समूह है जिसे आपके कार्यक्रम में कहीं से भी बुलाया जा सकता है। यह एक ही कोड को बार-बार लिखने की आवश्यकता को समाप्त करता है। यह प्रोग्रामर को मॉड्यूलर कोड लिखने में मदद करता है।
किसी अन्य अग्रिम प्रोग्रामिंग भाषा की तरह, यूफोरिया भी प्रक्रियाओं का उपयोग करके मॉड्यूलर कोड लिखने के लिए आवश्यक सभी सुविधाओं का समर्थन करता है।
आपने पिछले अध्यायों में प्रिंटफ () और लंबाई () जैसी प्रक्रियाओं को देखा होगा । हम बार-बार इन प्रक्रियाओं का उपयोग कर रहे हैं लेकिन वे केवल एक बार कोर यूफोरिया में लिखे गए हैं।
यूफोरिया आपको अपनी प्रक्रियाओं को भी लिखने की अनुमति देता है। यह खंड बताता है कि यूफोरिया में अपनी प्रक्रिया कैसे लिखें।
प्रक्रिया परिभाषा
इससे पहले कि आप एक प्रक्रिया का उपयोग करें, आपको इसे परिभाषित करने की आवश्यकता है। यूफोरिया में एक प्रक्रिया को परिभाषित करने का सबसे आम तरीका हैprocedure कीवर्ड, उसके बाद एक अद्वितीय प्रक्रिया नाम, मापदंडों की एक सूची (जो खाली हो सकती है), और एक स्टेटमेंट ब्लॉक जो समाप्त होता है end procedureबयान। मूल सिंटैक्स नीचे दिखाया गया है -
procedure procedurename(parameter-list)
statements
..........
end procedure
उदाहरण
एक सरल प्रक्रिया जिसे हेलो कहा जाता है जो कोई पैरामीटर नहीं लेती है उसे यहां परिभाषित किया गया है -
procedure sayHello()
puts(1, "Hello there")
end procedure
एक प्रक्रिया बुला रहा है
स्क्रिप्ट में बाद में कहीं प्रक्रिया शुरू करने के लिए, आपको बस उस प्रक्रिया का नाम इस प्रकार लिखना होगा -
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello()
puts(1, "Hello there")
end procedure
-- Call above defined procedure.
sayHello()
यह निम्न परिणाम उत्पन्न करता है -
Hello there
प्रक्रिया पैरामीटर
अब तक आपने पैरामीटर के बिना प्रक्रिया देखी है। लेकिन एक प्रक्रिया को कॉल करते समय विभिन्न मापदंडों को पारित करने की सुविधा है। इन पारित मापदंडों को प्रक्रिया के अंदर कैप्चर किया जा सकता है और उन मापदंडों पर कोई भी हेरफेर किया जा सकता है।
एक प्रक्रिया अल्पविराम द्वारा अलग किए गए कई मापदंडों को ले सकती है।
उदाहरण
आइए हम अपनी sayHello प्रक्रिया में थोड़ा संशोधन करें। इस बार इसमें दो मापदंड हैं -
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello(sequence name,atom age)
printf(1, "%s is %d years old.", {name, age})
end procedure
-- Call above defined procedure.
sayHello("zara", 8)
यह निम्न परिणाम उत्पन्न करता है -
zara is 8 years old.