টিসিএল (Tcl) - Strings তৈরি এবং ম্যানিপুলেশন
স্ট্রিং টিসিএল-এ একটি অত্যন্ত গুরুত্বপূর্ণ ডেটা টাইপ। স্ট্রিং সাধারণত পাঠ্য বা চরিত্রের একটি সিকোয়েন্স থাকে, এবং এটি প্রোগ্রামিংয়ের অনেক গুরুত্বপূর্ণ কাজ যেমন ইনপুট, আউটপুট, এবং ডেটা প্রসেসিং এর জন্য ব্যবহৃত হয়। টিসিএল-এ স্ট্রিং তৈরি, প্রক্রিয়া, এবং ম্যানিপুলেশন করা সহজ এবং শক্তিশালী।
এখানে স্ট্রিং তৈরি এবং ম্যানিপুলেশন এর ধারণা এবং ব্যবহারের নিয়ম আলোচনা করা হলো।
১. স্ট্রিং তৈরি (Creating Strings)
টিসিএল-এ স্ট্রিং তৈরি করা অত্যন্ত সহজ। স্ট্রিং তৈরি করতে ডাবল কোট ( " " ) অথবা সিঙ্গল কোট ( ' ' ) ব্যবহার করা হয়। আপনি যে কোনো স্ট্রিং সরাসরি একটি ভেরিয়েবলে অ্যাসাইন করতে পারেন।
উদাহরণ:
set name "Azizur"
set greeting 'Hello, World!'এখানে, name একটি স্ট্রিং এবং "Azizur" এতে সংরক্ষিত আছে, এবং greeting নামক স্ট্রিংটি 'Hello, World!' ধারণ করছে।
২. স্ট্রিং অ্যাক্সেস (Accessing String Characters)
স্ট্রিং থেকে একটি নির্দিষ্ট চরিত্র (character) বের করার জন্য, টিসিএল-এ স্ট্রিং সূচক ব্যবহার করা হয়। টিসিএল স্ট্রিং ইনডেক্সিং শুরু করে ০ থেকে।
উদাহরণ:
set greeting "Hello"
set firstChar [string index $greeting 0]
puts $firstChar ;# আউটপুট: Hএখানে, string index ব্যবহার করে greeting স্ট্রিংয়ের প্রথম চরিত্র H বের করা হয়েছে।
৩. স্ট্রিং যুক্ত করা (Concatenating Strings)
স্ট্রিং গুলি যুক্ত করতে (concatenate) আপনি সরাসরি স্পেস দিয়ে স্ট্রিংগুলো যোগ করতে পারেন। টিসিএল-এ একাধিক স্ট্রিং যুক্ত করার জন্য কোন বিশেষ অপারেটর প্রয়োজন হয় না, বরং সরাসরি স্ট্রিং গুলি পর পর লিখলেই এটি যুক্ত হয়ে যায়।
উদাহরণ:
set firstName "Azizur"
set lastName "Rahman"
set fullName "$firstName $lastName"
puts $fullName ;# আউটপুট: Azizur Rahmanএখানে, দুটি স্ট্রিং (firstName এবং lastName) স্পেস দিয়ে যুক্ত করা হয়েছে এবং ফলস্বরূপ একটি পূর্ণ নাম তৈরি হয়েছে।
৪. স্ট্রিং দৈর্ঘ্য (String Length)
স্ট্রিংয়ের দৈর্ঘ্য (অর্থাৎ স্ট্রিংয়ে কয়টি ক্যারেকটার আছে) বের করতে string length কমান্ড ব্যবহার করা হয়।
উদাহরণ:
set name "Azizur"
set length [string length $name]
puts $length ;# আউটপুট: 6এখানে, string length কমান্ডটি "Azizur" স্ট্রিংয়ের দৈর্ঘ্য বের করেছে, যা ৬।
৫. স্ট্রিং পরিবর্তন (Modifying Strings)
স্ট্রিংয়ের মধ্যে কিছু পরিবর্তন করতে, যেমন একটি অংশ পরিবর্তন, মুছে ফেলা বা নতুন অংশ যোগ করতে string replace বা string map ব্যবহার করা হয়।
স্ট্রিং রিপ্লেসমেন্ট (Replacing String):
set greeting "Hello, World!"
set newGreeting [string replace $greeting 7 11 "Tcl"]
puts $newGreeting ;# আউটপুট: Hello, Tcl!এখানে, "World" কে "Tcl" দিয়ে পরিবর্তন করা হয়েছে।
স্ট্রিং ম্যানিপুলেশন:
set sentence "I love Tcl programming!"
set newSentence [string map {Tcl Python} $sentence]
puts $newSentence ;# আউটপুট: I love Python programming!এখানে, "Tcl" কে "Python" দিয়ে পরিবর্তন করা হয়েছে।
৬. স্ট্রিং টেস্টিং (Testing Strings)
স্ট্রিংয়ের কিছু বৈশিষ্ট্য পরীক্ষা করার জন্য টিসিএল-এ বেশ কিছু ফাংশন রয়েছে, যেমন স্ট্রিং খালি কি না, স্ট্রিং সমান কি না ইত্যাদি।
উদাহরণ:
স্ট্রিং সমান (Equality):
set name1 "Azizur" set name2 "Azizur" if { [string equal $name1 $name2] } { puts "The strings are equal" } else { puts "The strings are not equal" }এখানে,
string equalকমান্ডটি দুটি স্ট্রিংয়ের সমতা পরীক্ষা করে।স্ট্রিং খালি (Empty String):
set str "" if { [string length $str] == 0 } { puts "The string is empty" }এখানে,
string lengthব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য পরীক্ষা করা হয়েছে, যদি এটি ০ হয় তবে স্ট্রিংটি খালি।
৭. স্ট্রিং কিপিং (Trimming Strings)
স্ট্রিংয়ের শুরু এবং শেষের অপ্রয়োজনীয় স্পেসগুলো কেটে ফেলতে string trim ব্যবহার করা হয়।
উদাহরণ:
set str " Hello, World! "
set trimmedStr [string trim $str]
puts $trimmedStr ;# আউটপুট: Hello, World!এখানে, string trim কমান্ডটি স্ট্রিংয়ের শুরু এবং শেষের অতিরিক্ত স্পেসগুলো মুছে ফেলেছে।
৮. স্ট্রিং থেকে সাবস্ট্রিং বের করা (Extracting Substring from a String)
স্ট্রিং থেকে একটি অংশ বের করতে string range কমান্ড ব্যবহার করা হয়। এটি স্ট্রিংয়ের একটি নির্দিষ্ট অংশকে নির্দিষ্ট সূচক দিয়ে বের করে।
উদাহরণ:
set greeting "Hello, World!"
set subString [string range $greeting 0 4]
puts $subString ;# আউটপুট: Helloএখানে, string range কমান্ডটি "Hello, World!" স্ট্রিংয়ের প্রথম ৫টি অক্ষর (সূচক ০ থেকে ৪) বের করেছে।
৯. স্ট্রিং কনভার্সন (String Conversion)
টিসিএল-এ স্ট্রিংকে অন্যান্য টাইপে কনভার্ট করার জন্য string কমান্ডের বিভিন্ন ভেরিয়েন্ট রয়েছে।
উদাহরণ:
set number "123"
set result [expr {$number + 1}]
puts $result ;# আউটপুট: 124এখানে, "123" স্ট্রিংটি সরাসরি গাণিতিক অপারেশন করতে ব্যবহৃত হয়েছে, এবং টিসিএল এটি স্বয়ংক্রিয়ভাবে একটি ইন্টিজারে কনভার্ট করে।
১০. স্ট্রিং বিভক্ত (Splitting Strings)
স্ট্রিংকে নির্দিষ্ট ডেলিমিটার ব্যবহার করে ভাগ করতে string split ব্যবহার করা হয়।
উদাহরণ:
set sentence "apple banana orange"
set words [string split $sentence]
puts $words ;# আউটপুট: apple banana orangeএখানে, string split স্ট্রিংটি স্পেস দিয়ে ভাগ করেছে এবং প্রত্যেকটি শব্দকে আলাদা করে দিয়েছে।
উপসংহার
টিসিএল-এ স্ট্রিং তৈরি, পরিবর্তন, এবং ম্যানিপুলেশন করা খুবই সহজ এবং শক্তিশালী। স্ট্রিং গঠন করা, অ্যাক্সেস করা, যুক্ত করা, দৈর্ঘ্য বের করা, এবং বিভিন্ন ধরনের পরিবর্তন সহজেই করা যায় টিসিএল-এর স্ট্রিং কমান্ড ব্যবহার করে। স্ট্রিং ম্যানিপুলেশন টুলস ব্যবহার করে আপনি স্ট্রিংয়ের উপর বিভিন্ন ধরনের কাজ যেমন টেস্টিং, কনভার্সন, স্প্লিট, ট্রিম ইত্যাদি করতে পারেন, যা প্রোগ্রামিংয়ে খুবই কার্যকরী।
Read more