मागच्या भागात आपण बघितलं, एका- सारखी एक बरीच व्हेरिएबल्स (variables) प्रोग्राममध्ये वापरायला लागणार असतील, तर तेवढी वेगवेगळी व्हेरिएबल्स वापरण्याऐवजी अ‍ॅरे (array) किंवा लिस्ट (list) यांचा वापर केला जातो. आज आपण बघणार आहोत, प्रोग्राममधे त्याच त्याच कमांड्स (commands) पुन:पुन्हा लिहायला लागणार असतील तर काय केलं जातं.

निबंध लिहिताना आपण परिच्छेद करतो. पुस्तकात वेगवेगळे धडे असतात. त्याच प्रमाणे मोठा प्रोग्रामदेखील छोटय़ा छोटय़ा भागात विभागून लिहायचा असतो. असं लिहिल्याने तो प्रोग्राम आपल्याला समजायला सोप्पा जातो. प्रोग्राममध्ये एखादी चूक आढळल्यास मोठय़ा प्रोग्राममधे ती शोधण्यापेक्षा, छोटय़ा छोटय़ा भागात ती शोधणं सोप्पं जातं. प्रोग्रामच्या या छोटय़ा भागांना फंक्शन (function) म्हणतात.

व्हेरिएबल जसं आपण आधी डिक्लेअर (declare) करतो नि मग ते वापरतो, तसं फंक्शनच्या वापराचेही दोन टप्पे आहेत. आधी ते फंक्शन लिहायचं नि मग मुख्य प्रोग्राममधून ते कॉल (call) करायचं. फंक्शन लिहिताना प्रोग्राममधील काही कमांड्स आपण त्या फंक्शनच्या आत लिहितो. प्रोग्राम रन (run) होताना, एकेक कमांड्स रन करत जेव्हा तो फंक्शन जिथून कॉल केलं आहे तिथपर्यंत पोहोचतो, तेव्हा तो जिथे फंक्शन लिहिलं आहे तिथे उडी मारतो. त्या फंक्शनच्या आतील कमांड्स रन करतो. या कमांड्स रन करून झाल्यावर तो त्या फंक्शनमधून बाहेर पडतो नि फंक्शन कॉलच्या पुढच्या कमांडकडे जातो.

फंक्शनचे तीन भाग असतात. पहिला भाग इनपुट पॅरामिटर्स (input parameters), दुसरा भाग म्हणजे फंक्शनच्या आतील कमांड्स, नि तिसरा भाग म्हणजे, फंक्शनची रिटर्न व्हॅल्यू (return value). प्रोग्रामच्या मुख्य भागातून फंक्शन कॉल केलं जाईल तेव्हा त्या मुख्य भागातील काही व्हेरिएबल्स जर फंक्शनच्या आतील कमांड्सना वापरायला लागणार असतील, तर ती व्हेरिएबल्स इनपुट पॅरामिटर्स म्हणून त्या फंक्शनला दिली जातात. या उलट, फंक्शनच्या आतील कमांड्स रन करून झाल्यावर, त्या फंक्शनला त्याच्याकडील एखादी व्हॅल्यू प्रोग्रामच्या मुख्य भागाकडे पाठवायची असल्यास, ती फंक्शनची रिटर्न व्हॅल्यू म्हणून परत केली जाईल.

एकदा एक फंक्शन लिहिलं की आपण ते प्रोग्रामच्या मुख्य भागातून कितीही वेळा कॉल करू शकतो. त्याने प्रोग्राममधे त्याच त्याच कमांड्स (commands) पुन:पुन्हा लिहाव्या लागत नाहीत.

फंक्शनची संकल्पना नीट समजण्यासाठी त्याचं एक उदाहरण द्यायला हवं. पण ते सदराच्या पुढच्या भागात.

sudomu@gmail.com

(या सदरातील उदाहरणं http://www.codingbasics.omsw.co.in या संकेतस्थळावर उपलब्ध असतील.)