KDB+ এবং এর স্ক্রিপ্টিং ভাষা Q বেশ শক্তিশালী এবং সহজবোধ্য। এখানে Expressions, Variables, এবং Data Types এর বেসিক ধারণাগুলি আলোচনা করা হবে, যা Q ভাষায় ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করতে সাহায্য করবে।
১. Expressions (প্রকাশনা)
Q ভাষায় Expression একটি গণনা বা অপারেশন যা একটি মান (value) তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত একটি একক অপারেশন বা একটি এক্সপ্রেশন হতে পারে যা নির্দিষ্ট ফলাফল দেয়। একটি Expression একটি সংখ্যা, অঙ্ক, লজিক্যাল অপারেটর, অথবা একটি ফাংশন হতে পারে।
উদাহরণ:
x: 5 + 3 / এখানে 5 + 3 একটি Expressionএই ক্ষেত্রে 5 + 3 একটি এক্সপ্রেশন এবং এটি ৮ দিয়ে রিটার্ন করবে।
Q ভাষায় বিভিন্ন ধরণের এক্সপ্রেশন ব্যবহৃত হতে পারে যেমন:
- অঙ্কন (Arithmetic expressions): যোগ, বিয়োগ, গুণ, ভাগ, ইত্যাদি
- লজিক্যাল এক্সপ্রেশন:
and,or,notইত্যাদি - কম্প্যারেটিভ এক্সপ্রেশন:
=,>,<,>=,<=,!=
উদাহরণ:
y: 7 > 5 / এই এক্সপ্রেশনটি সত্য (True) হবেএই এক্সপ্রেশনটি True রিটার্ন করবে কারণ ৭ ৫ এর চেয়ে বড়।
২. Variables (ভেরিয়েবল)
Q ভাষায় variables (ভেরিয়েবল) ডেটা স্টোর করতে ব্যবহৃত হয়। ভেরিয়েবলগুলি ডেটার মান ধারণ করে এবং এগুলি বিভিন্ন অপারেশন বা ফাংশনের মধ্যে ব্যবহৃত হতে পারে।
ভেরিয়েবল ডিক্লেয়ার করা:
a: 10 / একটি ভেরিয়েবল a তৈরি করা যা 10 ধারণ করে
b: 20 / একটি ভেরিয়েবল b তৈরি করা যা 20 ধারণ করেএখানে a এবং b দুটি ভেরিয়েবল এবং এগুলি যথাক্রমে ১০ এবং ২০ ধারণ করছে।
ভেরিয়েবল পরিবর্তন করা:
a: a + 5 / ভেরিয়েবল a এর মান পরিবর্তন করাএটি a এর মান ১৫ এ পরিবর্তন করবে।
ভেরিয়েবল ব্যবহার:
sum: a + b / ভেরিয়েবল a এবং b এর যোগফলএখানে sum ভেরিয়েবলটি a এবং b এর যোগফল ধারণ করবে, অর্থাৎ ৩০।
৩. Data Types (ডেটা টাইপস)
Q ভাষায় বিভিন্ন ধরনের ডেটা টাইপস রয়েছে, যেগুলির মাধ্যমে ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করা হয়। প্রধান ডেটা টাইপগুলির মধ্যে রয়েছে:
১. Numbers (সংখ্যা)
KDB+ এ সংখ্যা দুটি প্রধান ধরনের হয়:
- Integer (পূর্ণসংখ্যা): সাধারণ পূর্ণসংখ্যা যেমন
1,-10,500 - Float (ভাসমান পয়েন্ট সংখ্যা): দশমিক সংখ্যা যেমন
1.5,-3.14,100.45
x: 10 / একটি পূর্ণসংখ্যা
y: 3.14 / একটি ভাসমান পয়েন্ট সংখ্যা২. Boolean (বুলিয়ান)
বুলিয়ান ডেটা টাইপ দুটি মান ধারণ করতে পারে: True অথবা False। এটি সাধারণত লজিক্যাল অপারেশনগুলিতে ব্যবহৃত হয়।
a: 1 = 1 / True
b: 3 > 5 / False৩. Symbols (সিম্বলস)
সিম্বলস হলো এমন স্ট্রিং টাইপ যা সাধারণত ইন্ডিকেটর বা ট্যাগ হিসেবে ব্যবহৃত হয়। এটি কোডিং বা ট্যাগিংয়ের জন্য ব্যবহৃত হয়।
s: `apple / একটি সিম্বল
t: `banana / আরেকটি সিম্বল৪. Strings (স্ট্রিংস)
স্ট্রিং হল অক্ষর বা শব্দের একটি সিরিজ। স্ট্রিংকে ডাবল কোটেশন মার্কের মধ্যে রাখে।
name: "KDB+"
greeting: "Hello, World!"৫. Lists (লিস্টস)
লিস্ট হলো একটি ডেটার সংগ্রহ, যা একাধিক আইটেম ধারণ করতে পারে। লিস্টের মধ্যে বিভিন্ন ধরনের ডেটা থাকতে পারে, যেমন সংখ্যাগুলি বা স্ট্রিংগুলি।
numbers: 1 2 3 4 5 / একটি সংখ্যা লিস্ট
words: "apple" "banana" "cherry" / একটি স্ট্রিং লিস্ট৬. Tables (টেবিলস)
KDB+ এ table হলো ডেটার একটি কাঠামোগত সংগঠন, যেখানে রেকর্ড বা রো এবং কলাম থাকে। টেবিল ব্যবহার করে ডেটা স্টোর করা এবং বিশ্লেষণ করা যায়।
table: (`time`price) ! (2024.11.16 10:00:00 2024.11.16 10:01:00; 100.5 101.0)এখানে table একটি টেবিল তৈরি করে, যেখানে দুইটি কলাম রয়েছে: time এবং price।
৭. Dictionaries (ডিকশনারি)
ডিকশনারি হলো এমন একটি ডেটা টাইপ যা কী-ভ্যালু পেয়ার ধারণ করে। এটি এমন একটি স্ট্রাকচার যেটি মানগুলিকে কী দ্বারা চিহ্নিত করে।
dict: `apple`banana`cherry!1 2 3এখানে, dict একটি ডিকশনারি, যেখানে apple, banana, এবং cherry কী হিসেবে এবং 1, 2, 3 মান হিসেবে রয়েছে।
সারসংক্ষেপ
- Expressions হল এক্সপ্রেশন যা গণনা বা অপারেশন চালায় এবং একটি মান তৈরি করে।
- Variables হল ভেরিয়েবল যা ডেটার মান ধারণ করে এবং বিভিন্ন অপারেশন বা ফাংশনে ব্যবহার করা হয়।
- Data Types হল কেডিবি+ এবং Q ভাষার বিভিন্ন ডেটার ধরন, যার মধ্যে রয়েছে নম্বর, বুলিয়ান, সিম্বল, স্ট্রিং, লিস্ট, টেবিল, এবং ডিকশনারি।
Q ভাষায় এই ডেটা টাইপস এবং ভেরিয়েবলগুলির মাধ্যমে আপনি ডেটার উপর বিভিন্ন ধরনের অপারেশন এবং বিশ্লেষণ করতে পারবেন।