Erlang-এ Expressions এবং Statements এর ব্যবহার
Erlang একটি ফাংশনাল প্রোগ্রামিং ভাষা, তাই এখানে expressions এবং statements এর ব্যবহারের কিছু গুরুত্বপূর্ণ পার্থক্য ও বিশেষত্ব রয়েছে। যদিও অনেক প্রোগ্রামিং ভাষায় statements এবং expressions দুটি আলাদা ধারণা, Erlang-এ এই দুটি বৈশিষ্ট্য বিভিন্নভাবে কাজ করে।
1. Expression (এক্সপ্রেশন)
Erlang-এ expression একটি ফাংশন, অপারেশন বা কমান্ড যা মূল্য প্রদান করে এবং একটি মান (value) রিটার্ন করে। এক্সপ্রেশন সাধারণত কোনো কার্যক্রম সম্পন্ন করার জন্য ব্যবহৃত হয় এবং এর একটি ফলাফল থাকে। Erlang-এর অনেক কোডই এক্সপ্রেশন হিসেবে কাজ করে, কারণ এটি একটি ফাংশনাল ভাষা যেখানে এক্সপ্রেশন সাধারণত কোডের মূল অঙ্গ।
উদাহরণ:
1 + 2.এটি একটি এক্সপ্রেশন যেখানে 1 + 2 এর ফলাফল 3। Erlang-এ, সব এক্সপ্রেশন একযোগে একটি মান প্রদান করে।
আরেকটি উদাহরণ:
X = 5,
Y = X + 3.এখানে, X = 5 একটি এক্সপ্রেশন যা 5 রিটার্ন করে, এবং Y = X + 3 একটি এক্সপ্রেশন যা 8 রিটার্ন করে।
2. Statement (স্টেটমেন্ট)
Erlang-এ statement এমন একটি অংশ যা কোনো কার্যক্রম সম্পাদন করে কিন্তু কোনো মান রিটার্ন করে না। সাধারণত statements ফাংশনের মধ্যে ব্যবহৃত হয় এবং তাদের উদ্দেশ্য একটি নির্দিষ্ট কাজ সম্পাদন করা। Erlang-এ কোনো কিছু কার্যকরী করতে বা কোডের লজিক বাস্তবায়ন করতে statements ব্যবহৃত হয়।
উদাহরণ:
io:format("Hello, World!~n").এটি একটি statement কারণ এটি কেবল আউটপুট প্রদর্শন করে, কিন্তু কোনো মান রিটার্ন করে না। Erlang-এ io:format/1 স্টেটমেন্টের মাধ্যমে আউটপুট প্রিন্ট করা হয়।
Erlang-এ Expressions এবং Statements এর পার্থক্য
| বৈশিষ্ট্য | Expression (এক্সপ্রেশন) | Statement (স্টেটমেন্ট) |
|---|---|---|
| ফলাফল | এক্সপ্রেশন সর্বদা একটি মান (value) রিটার্ন করে। | স্টেটমেন্ট কোন মান রিটার্ন করে না। |
| ব্যবহার | এক্সপ্রেশনগুলি নির্দিষ্ট গণনা বা হিসাবের জন্য ব্যবহৃত হয়। | স্টেটমেন্টগুলি সাধারণত কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়। |
| উদাহরণ | 1 + 2, X = 5, Y = X + 3 | io:format("Hello, World!") |
| কোড প্রবাহ | এক্সপ্রেশন সাধারণত ফাংশন বা কোড ব্লকে ব্যবহৃত হয়। | স্টেটমেন্ট একটি নির্দিষ্ট কাজ সম্পাদন করার জন্য ব্যবহৃত হয়। |
Erlang-এ Expressions এবং Statements এর ব্যবহার
1. Expressions in Function Definitions
Erlang-এ ফাংশনগুলিতে এক্সপ্রেশন ব্যবহার করা হয়। যেহেতু Erlang একটি ফাংশনাল ভাষা, তাই ফাংশনগুলি সাধারণত এক্সপ্রেশন রিটার্ন করে।
-module(math).
-export([add/2, multiply/2]).
add(X, Y) ->
X + Y.
multiply(X, Y) ->
X * Y.এখানে X + Y এবং X * Y উভয়ই এক্সপ্রেশন হিসেবে ব্যবহৃত হয়েছে এবং তারা ফলাফল হিসেবে মান প্রদান করছে।
2. Control Structures as Expressions
Erlang-এ control structures (যেমন if, case, receive ইত্যাদি) সাধারণত এক্সপ্রেশন হিসেবে ব্যবহৃত হয়, যার মান রিটার্ন করা হয়।
check_number(X) ->
case X of
0 -> "Zero";
_ -> "Non-zero"
end.এখানে, case একটি এক্সপ্রেশন, এবং এটি X এর মান অনুসারে একটি ফলাফল প্রদান করে।
3. Statements for Side Effects
যদিও Erlang একটি ফাংশনাল ভাষা, কিছু স্টেটমেন্ট যেমন I/O operations বা side effects সাধারণত কোডে ব্যবহৃত হয়।
print_hello() ->
io:format("Hello, World!~n"),
ok.এখানে io:format একটি স্টেটমেন্ট যা আউটপুট প্রদর্শন করে এবং পরবর্তী ok মান রিটার্ন করে (যা একটি এক্সপ্রেশন হতে পারে)।
উপসংহার
- Expressions এমন কোড যা একটি মান প্রদান করে এবং এগুলি সাধারণত গণনা বা মূল্য নির্ধারণে ব্যবহৃত হয়।
- Statements সাধারণত কার্যক্রম সম্পাদন করে এবং কোনো মান রিটার্ন করে না, তবে সেগুলি সিস্টেমের কোনো প্রভাব ফেলতে ব্যবহৃত হয়, যেমন আউটপুট প্রদর্শন বা ডাটাবেসে সংরক্ষণ।
Erlang একটি ফাংশনাল ভাষা হওয়ায়, এতে অধিকাংশ কোডই এক্সপ্রেশন হিসেবে কাজ করে, তবে side effects (যেমন I/O অপারেশন) পরিচালনা করতে স্টেটমেন্ট ব্যবহার করা হয়।
Read more