প্রোলগে স্ট্রিং ব্যবহারের জন্য কিছু বিশেষ পদ্ধতি এবং ফাংশন আছে। যদিও প্রোলগ ঐতিহ্যগতভাবে স্ট্রিংয়ের সাথে কাজ করতে সরাসরি ডিজাইন করা হয়নি, তবে এটি চরিত্রের তালিকা (character lists) বা অ্যাটম (atom) হিসেবে স্ট্রিং ব্যবহার করতে পারে। প্রোলগে স্ট্রিং হল এক বা একাধিক চরিত্রের একটি লম্বা সিকোয়েন্স, যা অ্যাটম বা চরিত্রের লিস্ট হিসেবে কাজ করতে পারে। স্ট্রিং এবং অ্যাটম ব্যবহারের মধ্যে কিছু পার্থক্য থাকে, তবে সাধারণভাবে, প্রোলগে স্ট্রিং অ্যাটম হিসেবে প্রক্রিয়া করা হয়।
স্ট্রিং এর ব্যবহার:
স্ট্রিং তৈরি:
প্রোলগে স্ট্রিং তৈরি করার সময় সাধারণত এটি অ্যাটম বা লিস্ট হিসেবে ব্যবহৃত হয়। যেমন:?- Atom = 'hello'.এখানে,
'hello'একটি অ্যাটম। অ্যাটমের মধ্যে কোনও স্থান বা বিশেষ চরিত্র ব্যবহার করা হলে সেগুলি স্ট্রিং হিসেবেই কাজ করবে।স্ট্রিংকে লিস্টে রূপান্তর:
প্রোলগে স্ট্রিং হলো আসলে একটি চরিত্রের লিস্ট, যার প্রতিটি উপাদান একটি চরিত্র (character)।উদাহরণ:
?- String = "hello". String = [104, 101, 108, 108, 111].এখানে,
"hello"স্ট্রিংটি আসলে একটি চরিত্রের লিস্ট[104, 101, 108, 108, 111]রূপে কনভার্ট হয়, যেখানে প্রতিটি সংখ্যা একটি ASCII ভ্যালু।স্ট্রিংকে অ্যাটমে রূপান্তর:
প্রোলগে স্ট্রিং এবং অ্যাটমের মধ্যে পার্থক্য থাকে, তবে সাধারণতatom_string/2ব্যবহার করে স্ট্রিংকে অ্যাটমে রূপান্তর করা যায়।উদাহরণ:
?- atom_string(hello, "hello"). true.এখানে,
atom_string/2ব্যবহার করে"hello"স্ট্রিংকেhelloঅ্যাটমে রূপান্তর করা হয়েছে।
স্ট্রিং এর সাথে কাজ করার কিছু প্রাথমিক ফাংশন:
- অ্যাটম এবং স্ট্রিং এর মধ্যে রূপান্তর:
atom_string/2: অ্যাটমকে স্ট্রিংয়ে রূপান্তর করতে।atom_string(Atom, String).string_atom/2: স্ট্রিংকে অ্যাটমে রূপান্তর করতে।string_atom(String, Atom).
স্ট্রিং এর দৈর্ঘ্য বের করা:
স্ট্রিং এর দৈর্ঘ্য বের করতেstring_length/2ব্যবহার করা হয়।string_length("hello", Length).আউটপুট:
Length = 5.স্ট্রিংয়ের উপাদান অ্যাক্সেস করা:
স্ট্রিংয়ের কোনো নির্দিষ্ট চরিত্রে অ্যাক্সেস করতেsub_atom/5ব্যবহার করা হয়।sub_atom("hello", 1, 3, _, Substring).এখানে,
1হল শুরু,3হল দৈর্ঘ্য, এবংSubstringহবে"ell"।স্ট্রিংয়ের অংশ বের করা:
sub_string/5ব্যবহার করে স্ট্রিংয়ের একটি অংশ বের করা যায়।sub_string("hello", 1, 3, _, Substring).আউটপুট:
Substring = "ell".স্ট্রিংয়ে ক্যারেক্টার যোগ করা:
স্ট্রিংয়ে নতুন ক্যারেক্টার যোগ করার জন্যstring_concat/3ব্যবহার করা হয়।string_concat("hello", " world", FullString).আউটপুট:
FullString = "hello world".স্ট্রিং গঠন:
প্রোলগে স্ট্রিং গঠন করতেstring/1ব্যবহার করা হয়, যা বিভিন্ন উপাদানকে একত্রিত করে একটি স্ট্রিং তৈরি করতে সাহায্য করে।string([104, 101, 108, 108, 111], String).আউটপুট:
String = "hello".
স্ট্রিং এবং অ্যাটমের মধ্যে পার্থক্য:
- স্ট্রিং সাধারণত চরিত্রের লিস্ট (character list) হিসেবে প্রতিনিধিত্ব করা হয় এবং এর মধ্যে স্পেস বা বিশেষ চরিত্র থাকতে পারে।
- অ্যাটম প্রোলগের জন্য একটি মৌলিক একক হিসেবে ব্যবহৃত হয় এবং সাধারণত এটি একা শব্দ বা প্রতীক হিসেবে ব্যবহৃত হয়। একটি অ্যাটম স্পেস বা বিশেষ চরিত্র ধারণ করতে পারে না।
- স্ট্রিং যদি স্পেস বা বিশেষ চরিত্র ধারণ করে, তবে এটি লিস্ট বা অ্যাটম এর তুলনায় আলাদা।
সারসংক্ষেপ:
প্রোলগে স্ট্রিং এবং অ্যাটম দুটি আলাদা ধারণা হলেও, স্ট্রিং মূলত চরিত্রের লিস্ট হিসেবে ব্যবহৃত হয় এবং প্রোলগের গাণিতিক ও যুক্তির কাজ করার জন্য স্ট্রিংয়ের সাথে কাজ করা সহজ। প্রোলগে স্ট্রিং অপারেশন যেমন দৈর্ঘ্য বের করা, অংশ বের করা, স্ট্রিংয়ে ক্যারেক্টার যোগ করা ইত্যাদি কিছু সহজ ফাংশনের মাধ্যমে করা সম্ভব। string/1, string_length/2, string_concat/3 ইত্যাদি ফাংশন ব্যবহার করে আপনি স্ট্রিংয়ের সাথে কাজ করতে পারেন।
Read more