Tcl प्रोग्रामिंग उदाहरण, ट्यूटोरियल और अधिक

प्रकटीकरण: आपका समर्थन साइट को चालू रखने में मदद करता है! हम इस पृष्ठ पर हमारे द्वारा सुझाई गई कुछ सेवाओं के लिए एक रेफरल शुल्क कमाते हैं.


Tcl, या “टूल कमांड लैंग्वेज” (और “Tickle”) का उच्चारण, डायनामिक-टाइप की गई स्क्रिप्टिंग भाषा है जिसका मूल रूप से 1980 के दशक में आविष्कार किया गया था। यह अक्सर प्रोटोटाइप और एम्बेडेड सिस्टम के लिए उपयोग किया जाता है, लेकिन यह पूर्ण पैमाने पर अनुप्रयोगों के लिए उपयोग करने में काफी सक्षम है। यह प्रभावित था, और लिस्प के कुछ समानताएं हैं.

Tk एक बारीकी से संबंधित GUI टूल किट है। यह Tcl के लिए एक विस्तार है, लेकिन अब कई अन्य भाषाओं के साथ उपयोग के लिए उपलब्ध है.

Tcl और Tk एक ही प्रोग्रामर द्वारा बनाए गए थे, और अक्सर उपयोग किए जाते हैं जैसे कि वे एक उपकरण के घटक थे। यहां तक ​​कि वे वर्जन नंबर भी शेयर करते हैं। साथ में उन्हें आमतौर पर “Tcl / Tk” कहा जाता है और वे तेजी से विकास के लिए एक शक्तिशाली तकनीक हैं.

Tcl भाषा के बारे में

Tcl एक दिलचस्प भाषा है; अन्य प्रोग्रामिंग भाषाओं की तुलना में इसमें कुछ असामान्य विशेषताएं हैं.

Tcl का कोई आरक्षित शब्द या नियंत्रण संरचना नहीं है। नियंत्रण संरचनाएं जैसे “के लिए” और “यदि” वास्तव में आदेश हैं। Tcl में कमांडों को ओवरराइड या पुनर्परिभाषित किया जा सकता है, इसलिए एक प्रोग्रामर सचमुच एक प्रोग्राम में “के लिए” (या किसी अन्य भाषा निर्माण) का अर्थ बदल सकता है। जबकि यह आमतौर पर उचित नहीं है, यह बहुत शक्तिशाली है.

Tcl में सभी डेटा प्रकारों को स्ट्रिंग्स के रूप में माना जा सकता है, क्योंकि एक महत्वपूर्ण तरीके से, वे स्ट्रिंग्स हैं। यहां तक ​​कि स्रोत कोड को एक स्ट्रिंग के रूप में हेरफेर किया जा सकता है। पूर्णांक 2 और स्ट्रिंग "2" एक ही मूल्य हैं। इसका मतलब यह नहीं है कि सभी चर को हर समय तार के रूप में माना जाता है। मान 2 पूर्णांक है जब पूर्णांक के लिए सार्थक कमांड के तर्क के रूप में पारित किया जाता है। अगर "हैलो" एक कमांड को पास किया जाता है जो एक पूर्णांक की तरह तर्क का व्यवहार करता है, परिणाम या तो बकवास होगा या एक त्रुटि। यह सुनिश्चित करने के लिए प्रोग्रामर पर निर्भर है कि तर्क के रूप में सही मान पारित किए गए हैं.

इसका मतलब है कि Tcl मान मौलिक रूप से बहुरूपिक हैं। इसके अतिरिक्त, कोड को किसी भी अन्य डेटा की तरह उत्पन्न, निरीक्षण और हेरफेर किया जा सकता है। ये विशेषताएं शक्तिशाली आत्मनिरीक्षण और मेटाप्रोग्रामिंग तकनीकों को सक्षम करती हैं.

वाक्य – विन्यास

भाषा का वाक्य-विन्यास बहुत सरल है, और बैश स्क्रिप्टिंग भाषा से मिलता जुलता है: एक अनियंत्रित कमांड जिसके बाद एक या अधिक तर्क दिए जाते हैं, जो रिक्त स्थान द्वारा अलग किए जाते हैं। घुंघराले कोष्ठक का उपयोग उन तर्कों को सेट करने के लिए किया जाता है जिनमें उन्हें रिक्त स्थान शामिल करने की आवश्यकता होती है (अर्थात ब्रेस के अंदर, रिक्त स्थान शब्द नहीं हैं).

# यह एक टिप्पणी है। टिप्पणियाँ हैश साइन के साथ शुरू होती हैं.

# शब्द को प्रिंट करने के लिए एक बहुत ही सरल कमांड "हैलो"
नमस्कार करता है

# लेकिन अगर हम कहना चाहते हैं "नमस्ते दुनिया"
{हैलो वर्ल्ड} डालता है

एक शेल स्क्रिप्ट की तरह, एक Tcl स्क्रिप्ट केवल सिंगल-लाइन कमांड की एक श्रृंखला है। दुभाषिया हमेशा कमांड नाम के रूप में पहली पंक्ति पढ़ता है, और उस कमांड के तर्क के रूप में लाइन पर प्रत्येक अतिरिक्त आइटम का व्यवहार करता है.

यहां तक ​​कि प्रतीत होता है कि जटिल नियंत्रण संरचनाएं इस तरह से काम करती हैं। निम्नलिखित को धयान मे रखते हुए:

अगर {$ a == 1} {डालता है {हैलो, वर्ल्ड}} {डालता है {अलविदा, क्रूर दुनिया! }}

आदेश दिया जा रहा है यदि है। पहला तर्क मूल्यांकन का एक अभिव्यक्ति है। यदि पहला तर्क सत्य है, तो अगला तर्क चलाया जाने वाला एक स्क्रिप्ट है। यदि अंतिम तर्क सही नहीं है, तो अंतिम तर्क को चलाने के लिए एक स्क्रिप्ट है.

बेशक, यह बहुत ही बुनियादी प्रोग्रामिंग है, लेकिन यह दिलचस्प है कि दुभाषिया इस सिंटैक्स को कैसे संभालता है। इसके अलावा, यदि अभिव्यक्ति और स्क्रिप्ट एकल शब्द थे, तो घुंघराले कोष्ठक अनावश्यक हो जाएंगे:

# दो नई प्रक्रियाओं का निर्माण
खरीद हैलो {} {डालता है नमस्ते, दुनिया! }}
अलविदा {} {{अलविदा, क्रूर दुनिया!

# कोई घुंघराले कोष्ठक के साथ सशर्त
अगर $ एक अलविदा अलविदा

घुंघराले कोष्ठक के साथ, दो अतिरिक्त “समूहीकरण” टोकन हैं: दोहरे उद्धरण और वर्ग कोष्ठक.

दोहरे उद्धरण और घुंघराले ब्रैकेट समान हैं (चूंकि सब कुछ एक स्ट्रिंग है) सिवाय इसके कि दोहरे उद्धरण चरों को प्रक्षेपित करते हैं, जबकि घुंघराले ब्रेसिज़ उनकी सामग्री को शाब्दिक तार के रूप में मानते हैं.

# असाइन करें "विश्व" चर के लिए
एक दुनिया सेट करें

$ डालता है
# विश्व

{हैलो $ a} डालता है
# हैलो $ ए

डालता है "हैलो $ ए"
# नमस्ते दुनिया

स्क्वायर ब्रैकेट का उपयोग कमांड प्रतिस्थापन के लिए किया जाता है। यही है, वर्ग ब्रैकेट की एक जोड़ी की सामग्री का मूल्यांकन पहले दुभाषिया द्वारा किया जाता है, और फिर वापसी मूल्य को कमांड या तर्क के रूप में लाइन में प्रतिस्थापित किया जाता है।.

[expr {1 + 1}] डालता है
# २

# एक मूर्खतापूर्ण खरीद जो सिर्फ स्ट्रिंग लौटाती है "डालता है"
return_puts {} {return puts} खरीदें

# रिटर्न वैल्यू एक कमांड बन जाती है
[return_puts] [expr {1 + 1}]
# २

इसके अतिरिक्त, चूंकि कमांड केवल तार हैं, चर मान कमांड, या संपूर्ण लाइनें हो सकते हैं.

# एक स्ट्रिंग असाइन करें "{यह एक स्ट्रिंग है} डालता है" फूंकना
फू फू सेट {यह एक स्ट्रिंग है}}

$ foo
# यह एक स्ट्रिंग है

$ फू डालता है
# डालता है {यह एक स्ट्रिंग है}

जैसा कि आप देख सकते हैं, Tcl बहुत लचीला है.

टीईसी ट्यूटोरियल

  • आधिकारिक Tcl ट्यूटोरियल शुरू करने के लिए सबसे अच्छी जगह है;
  • Tcl ट्यूटोरियल शुरुआती के लिए करना;
  • ट्यूटोरियल पॉइंट पर Tcl / Tk ट्यूटोरियल बहुत ही व्यवस्थित है, और इसमें एक ऑनलाइन दुभाषिया भी शामिल है ताकि आप तुरंत Tcl का उपयोग शुरू कर सकें;
  • TCLWISE भाषा का पहला नौ अध्याय है, जो स्वतंत्र रूप से ऑनलाइन उपलब्ध है;
  • Tcl में प्रोग्रामिंग एक 29-पार्ट वीडियो कोर्स है जिसमें हास्य की भावना होती है;
  • Tcl Tutref एक ट्यूटोरियल और संदर्भ गाइड है जिसे आधिकारिक Tcl प्रलेखन पर “दूसरी राय” के रूप में तैयार किया गया है;
  • Tecl for Teens कंप्यूटर गेम बनाने के लिए Tcl का उपयोग करने के लिए युवा और युवा-हृदय को सिखाता है;
  • यदि आप Tcl पर अध्ययन के अधिकांश पूर्ण पाठ्यक्रम की तलाश में हैं, तो आधिकारिक Tcl wiki पर इनका प्रयास करें:
    • शुरुआत Tcl;
    • मध्यवर्ती Tcl;
    • उन्नत Tcl.

Tcl / Tk पर पुस्तकें

  • वेल्च और जोन्स द्वारा Tcl और Tk (2003) में प्रैक्टिकल प्रोग्रामिंग, Tcl और Tk दोनों पर एक आधिकारिक पाठ्यपुस्तक है, जिसमें अन्य भाषाओं से आने वाले अनुभवी प्रोग्रामर को संतुष्ट करने के लिए पर्याप्त-गहन कवरेज है;
  • Tcl / Tk, दूसरा संस्करण: Clif Flynt द्वारा एक डेवलपर की गाइड (2003) भाषा और विकास पारिस्थितिकी तंत्र दोनों को कवर करने वाली एक बहुत ही व्यावहारिक पुस्तक है, जिसमें टूलिंग, आमतौर पर उपयोग किए जाने वाले एक्सटेंशन और विकास प्रथाओं पर विशिष्ट कवरेज के साथ;
  • Oesterhout और जोन्स द्वारा Tcl और Tk टूलकिट (2009) भाषा पर निश्चित मार्गदर्शक है, इसके आविष्कारक द्वारा सह-लेखक;
  • बर्ट व्हीलर द्वारा Tcl / Tk 8.5 प्रोग्रामिंग कुकबुक (2011) Tcl / Tk प्रोग्रामिंग में आम समस्याओं के लिए कई व्यावहारिक समाधान प्रदान करता है।.

Tk – Tcl के लिए GUI टूल किट

बहुत सारे कारण हैं कि Tcl लोकप्रिय हो गया जब यह किया गया था, लेकिन Tk शायद सबसे महत्वपूर्ण है। Tk के लिए कम है टीoolयह। यह Tcl के साथ ग्राफिकल यूजर इंटरफेस (GUIs) बनाना आसान बनाता है.

Tk एक फॉर्म-आधारित GUI बनाने के लिए एक अपेक्षाकृत आसान सेट प्रदान करता है, जिसकी आप अपेक्षा कर सकते हैं सभी सामान्य डेस्कटॉप तत्वों के साथ: बटन, इनपुट बॉक्स, लेबल, विभिन्न प्रकार के चयनकर्ता, स्क्रॉलबार और इसके आगे। इन तत्वों को आपके स्रोत कोड में निर्दिष्ट किया गया है, निष्पादन योग्य कोड के साथ जो विजेट में हुक करता है – उदाहरण के लिए, बटन दबाए जाने पर क्या फ़ंक्शन चलना चाहिए, या चयन मेनू के लिए विकल्पों की सूची कहां से आती है। यदि सिंटैक्स अलग है, तो आप इस प्रक्रिया से परिचित होंगे यदि आपने कभी HTML / JS अनुप्रयोगों या प्रपत्रों के साथ काम किया हो.

Tk को मूल रूप से Tcl के विस्तार के रूप में विकसित किया गया था, उसी व्यक्ति द्वारा जिसने Tcl का आविष्कार किया था। लेकिन Tcl जल्दी ही एक क्रॉस-प्लेटफॉर्म लाइब्रेरी बन गई, जो दर्जनों भाषाओं में प्रोग्रामर के लिए उपलब्ध थी। 1991 में टीके को सार्वजनिक रूप से जारी किया गया था, और 1994 में पायथन के टिंकर मॉड्यूल को जारी किया गया था। इसके कुछ ही समय बाद पर्लटैक आया था।.

Tcl / Tk के 8.5 रिलीज से पहले, केवल एक दृश्य डिजाइन था जो नियंत्रित करता था कि ये तत्व वास्तव में कैसे दिखते हैं। अब प्रमुख ऑपरेटिंग सिस्टम के लिए थीम हैं, ताकि टीके में बनाया गया एप्लिकेशन उस प्लेटफॉर्म के मूल निवासी दिखे जिस पर वह चल रहा है.

जब Tk पहली बार उपलब्ध हुआ, तो यह डेस्कटॉप GUI एप्लिकेशन को चलाने और चलाने के लिए सबसे आसान और तेज़ तरीकों में से एक था। भले ही यह पहली बार केवल Tcl और Unix के लिए उपलब्ध था, फिर भी इसे बंद कर दिया गया क्योंकि यह उपयोग करने के लिए बहुत सरल था। आज और भी बहुत सारे विकल्प हैं जो हमने तब वापस किए थे, लेकिन Tk अभी भी तेजी से प्रोटोटाइप बनाने और लांचर अनुप्रयोगों को विकसित करने के सबसे कुशल तरीकों में से एक है।.

Tk ट्यूटोरियल

ऊपर बताए गए कई Tcl ट्यूटोरियल्स में Tk की जानकारी शामिल है। निम्नलिखित उस पर विशेष रूप से ध्यान केंद्रित करता है.

  • आधिकारिक रूप से शुरू किया गया ट्यूटोरियल शुरू करने के लिए एक बहुत अच्छी जगह है; हर चरण में Tcl, रूबी, पर्ल और पायथन के लिए कोड नमूने शामिल हैं;
  • Tcl भाषा के साथ GUI का उपयोग करके GUI बनाना एक मुख्य रूप से बुनियादी प्रोग्रामिंग ज्ञान वाले दर्शकों के लिए एक अपरिवर्तनीय ट्यूटोरियल है; उसी लेखक ने पर्ल के लिए एक Tk ट्यूटोरियल भी लिखा.
  • RubyLearning.com से Ruby / Tk ट्यूटोरियल रूबीवादियों के लिए शुरू करने के लिए एक अच्छी जगह है;
  • पायथन का टीके कार्यान्वयन मानक पुस्तकालय का हिस्सा है, और आधिकारिक पायथन प्रलेखन एक सहायक ट्यूटोरियल प्रदान करता है;
  • Tcl / Tk के लिए एक गैर-प्रोग्रामर का परिचय Tcl और Tk दोनों पर एक ट्यूटोरियल है, लेकिन एक अंतर्निहित धारणा के साथ कि आप Tk के बिना Tcl का उपयोग नहीं करेंगे।.

क्या मुझे Tcl सीखना चाहिए?

Tcl एक बेहतरीन भाषा है। यह लोकप्रियता में अपनी चरम सीमा पार कर चुका है, लेकिन अभी भी बहुत सक्रिय डेवलपर समुदाय और दुनिया में बहुत सारे Tcl कोड की तलाश में है.

इससे भी महत्वपूर्ण बात, यह वास्तव में अलग है। यदि आप जावास्क्रिप्ट से PHP से रूबी से पायथन में चले गए हैं, तो आप बहुत समान वैचारिक आधार को बनाए रखते हैं। आप नए वाक्यविन्यास और नए कीवर्ड सीख रहे हैं, लेकिन वास्तव में सोचने का एक नया तरीका नहीं है.

Tcl कुछ भाषाओं (जैसे लिस्प और एर्लांग) में से एक है जो वास्तव में आपको इस बारे में सोचने के एक अलग तरीके से मजबूर करती है कि कैसे एक कार्यक्रम को डिज़ाइन करें। यहां तक ​​कि अगर आप किसी भी वास्तविक जीवन की परियोजनाओं के लिए इसका उपयोग नहीं करते हैं, तब भी कुछ समय सीखने में खर्च होता है.

आगे पढ़ना और संसाधन

हमारे पास कोडिंग और विकास से संबंधित अधिक गाइड, ट्यूटोरियल और इन्फोग्राफिक्स हैं:

  • पर्ल गाइड और संसाधन: पर्ल एक और शक्तिशाली लेकिन अधिक पारंपरिक भाषा है। और अधिक जानकारी प्राप्त करें.
  • पायथन परिचय, संसाधन, और अक्सर पूछे जाने वाले प्रश्न: इस शक्तिशाली व्याख्या की गई भाषा पर आपकी आवश्यक सभी जानकारी प्राप्त करें.
  • रूबी ऑन रेल्स का परिचय: इस लोकप्रिय प्रोग्रामिंग भाषा के बारे में सब पता करें.

आपको क्या कोड सीखना चाहिए?

कोड करने के लिए आपको किस प्रोग्रामिंग भाषा के बारे में सीखना चाहिए? हमारे इन्फोग्राफिक की जाँच करें, आपको क्या कोड सीखना चाहिए? यह न केवल भाषाओं के विभिन्न पहलुओं पर चर्चा करता है, यह महत्वपूर्ण सवालों के जवाब देता है जैसे, “मैं एक जीवन के लिए प्रोग्रामिंग जावा को कितने पैसे कमाऊंगा?”

आपको क्या कोड सीखना चाहिए?
आपको क्या कोड सीखना चाहिए?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me