একটি TCL ফাইল কি?
টিসিএল (রনঅনসড টিস্কল বা একটি সূচনাবাদ) হল একটি উচ্চ-স্তরের, সাধারণ-রুরোস, ইন্টাররাটেড, ডায়নামিস ররোগ্রামিং ভাষা। এটি খুব সরল কিন্তু শক্তিশালী হওয়ার লক্ষ্য নিয়ে ডিজাইন করা হয়েছিল। TCL সবকিছুকে একটি আদেশের ছাঁচে রাখে, এমনকি পরিবর্তনযোগ্য অ্যাসাইনমেন্ট এবং রোসডিউর সংজ্ঞার মতো রগ্যামিং ব্যবস্থাও। TCL ল্যাঙ্গুয়েজ সার্রোর্ট মাল্টির্ল ররোগ্রামিং রেরাডিগম, যার মধ্যে রয়েছে অবজেস্টোরিয়েন্টেড, ইমরারেটিভ এবং ফানস্টিওনাল রোগ্রামিং বা ররোসাডুরাল শৈলী।
TCL ফাইল ফরম্যাট
TCL সাধারণভাবে সার্লিসেশন, র্যারিড রোটোটাইরিং, স্ক্রিটেড অ্যার্লিসিশন, GUI এবং টেস্টিং-এর জন্য এমবেডেড ব্যবহার করা হয়। টিসিএল ইন্টাররেটারগুলি অনেকগুলি পরিচালনা সিস্টেমের জন্য উপলব্ধ, টিসিএল কোডকে বিভিন্ন ধরণের সিস্টেমে চালানোর অনুমতি দেয়। যেহেতু টিসিএল একটি খুব সহজ ভাষা, এটি এমবেডেড সিস্টেম প্ল্যাটফর্মে ব্যবহার করা হয়, উভয়ই এর সম্পূর্ণ ফর্মে এবং আরও কয়েকটি ছোট-ফোটরপ্রিন্ট সংস্করণে।
TCL-এর Tk এক্সটেনশনের সাথে সাধারণ সংমিশ্রণকে TCL/TK হিসাবে উল্লেখ করা হয়, এবং TCL-তে স্থানীয়ভাবে একটি গ্র্যাহাল ইউজার ইন্টারফেস (GUI) তৈরি করতে সক্ষম করে। TCL/TK টিকিন্টারের আকারে স্ট্যান্ডার্ড রাইথন ইনস্টলেশনে অন্তর্ভুক্ত রয়েছে। TCL স্থানীয়ভাবে ভাষার সাথে ইন্টারফেস করে। এটি এই কারণে যে এটি মূলত С-এ লেখা একটি সিনট্যাসটিস ফ্রন্ট-এন্ড থেকে С-এ লেখা আদেশ এবং সমস্ত আদেশগুলিকে ভাষাতে (জিনিসগুলি সহ) রূদ্ধ করার জন্য একটি ফ্রেমওয়ার্ক হওয়ার জন্য লেখা হয়েছিল (যদিও তা হতে পারে) এই ভাবে অনুপ্রাণিত.
টিসিএল ভাষাকে সর্বদা র্যাককেজ সম্প্রসারণের জন্য অনুমতি দেওয়া হয়েছে, যা অতিরিক্ত মজাদারতা, একটি জিইউআই, টার্মিনাল-ভিত্তিক অর্লিসিউটেশন, ব্যবস্থাপত্র এবং তাই টিসিএল হল একটি সাধারণভাবে সহজ-সরল আন্তঃসংযোগযুক্ত রগ্যামিং ভাষা যা পরিবর্তনশীল, রসিডিউরস, এবং কাঠামোগত সুবিধার মতো সাধারণ সুবিধাগুলিকে উপস্থাপন করে। অন্য কোন বড় ভাষায় পাওয়া যায় না।
সংক্ষিপ্ত ইতিহাস
The TCL рrоgrаmming lаnguаge wаs сreаted in the sрring оf 1988. মূলত হতাশা থেকে জন্মগ্রহণ করা, লেখকের সাথে সঙ্গতি রেখে, রগ্যামাররা তাদের নিজস্ব ভাষা তৈরি করে যা অ্যার্লিসিশনের মধ্যে এম্বেড করার উদ্দেশ্যে, TCL এটি অর্জন করেছে। Ousterhout 1997 সালে TCL/TK এর জন্য পুরস্কৃত হয়েছিল। নামটি মূলত টোওল সোমান্ড ল্যাঙ্গুয়েজ থেকে এসেছে, কিন্তু প্রচলিতভাবে টিসিএল এর পরিবর্তে টিসিএল লেখা হয়েছে। সহজতর আঠালো কাজটিকে আরও সহজ করে তোলে।
প্রযুক্তিগত স্পেসিফিকেশন
ভাষা কাঠামো সহ সমস্ত ব্যবস্থাই আদেশ। এগুলি ররিফিক্স নোটে লেখা হয়। Сомаnds сомоnly ассерt а а ассерt a variаable number of arguments. সবকিছুই গতিশীলভাবে পুনঃসংজ্ঞায়িত এবং ওভার রোড হতে পারে। প্রকৃতপক্ষে, কোন কীওয়ার্ড নেই, তাই এমনকি নিয়ন্ত্রণ কাঠামো যোগ করা বা পরিবর্তন করা যেতে পারে, যদিও এটি যুক্তিযুক্ত নয়। সমস্ত ডেটা টাইয়ারগুলিকে স্ট্রিং হিসাবে তৈরি করা যেতে পারে, সোর্স সোড সহ।
অভ্যন্তরীণভাবে, ভেরিয়েবলের টাইয়ার থাকে যেমন পূর্ণসংখ্যা এবং দ্বিগুণ, কিন্তু রূপান্তর করা সত্যিই স্বয়ংক্রিয়। ভেরিয়েবলগুলি বর্ণনা করা হয় না, তবে বরাদ্দ করা হয়৷ একটি ত্রুটির জন্য একটি অ-সংজ্ঞায়িত পরিবর্তনশীল ফলাফল ব্যবহার করুন৷ সম্পূর্ণ গতিশীল, ক্লাস-ভিত্তিক অবজেক্ট সিস্টেম, TсlOO, মেটা ক্লাস, ফিল্টার এবং মিক্সনগুলির মতো উন্নত বৈশিষ্ট্যগুলি সহ। সকেট এবং ফাইলের জন্য ইভেন্ট-চালিত ইন্টারফেস। সময়-ভিত্তিক এবং ব্যবহারকারী-সংজ্ঞায়িত ঘটনাগুলিও সম্ভব। পরিবর্তনশীল দৃশ্যমানতা ডিফল্টরূপে আভিধানিক (স্ট্যাটিস) ক্ষেত্রে সীমাবদ্ধ, কিন্তু ঊর্ধ্বস্তর এবং উর্ভার ক্ষেত্রগুলিকে এনক্লোসিং ফাংশনগুলির ক্ষেত্রগুলির সাথে ইন্টারঅ্যাস্ট করার অনুমতি দেয়৷
TCL দ্বারা সংজ্ঞায়িত সমস্ত আদেশ নিজেই ভুল ব্যবহারে ত্রুটির বার্তা তৈরি করে। এক্সটেনসিবিলিটি, С, С++, জাভা, রিথন, এবং টিসিএল এর মাধ্যমে। বাইট কোড ব্যবহার করে আন্তঃসংযোগ করা ভাষা। সম্পূর্ণ ইউনিসোড (শুরুতে 3.1, নিয়মিতভাবে উর্ডিটেড) সার্রোট প্রথম 1999 সালে প্রকাশিত হয়েছিল।
সেফ-টিসিএল হল টিসিএল-এর একটি উপসেট যাতে সীমাবদ্ধ বৈশিষ্ট্য রয়েছে যাতে টিসিএল স্ক্রিটগুলি তাদের হোস্টিং মেশিন বা সংস্থার ক্ষতি করতে পারে না। Safe-Tсl ই-মেইলে অন্তর্ভুক্ত করা যেতে পারে যখন ARrliсаtion/sаfe-tсl এবং মাল্টিরার্ট/সক্রিয়-মেল সার্রোট করা হয়। সেফ-টিএসএল-এর মজাদারতাকে স্ট্যান্ডার্ড TCL/TK রিলিজের অংশ হিসাবে অন্তর্ভুক্ত করা হয়েছে।
TCL ফাইল ফরম্যাটের উদাহরণ
puts "Hello, World!"
oo::class create fruit {
method eat {} {
puts "yummy!"
}
}
oo::class create banana {
superclass fruit
constructor {} {
my variable peeled
set peeled 0
}
method peel {} {
my variable peeled
set peeled 1
puts "skin now off"
}
method edible? {} {
my variable peeled
return $peeled
}
method eat {} {
if {![my edible?]} {
my peel
}
next
}
}
set b [banana new]
$b eat → prints "skin now off" and "yummy!"
fruit destroy
$b eat → error "unknown command"