জুলিয়া ভাষায় ফাংশন হল একটি কোড ব্লক যা নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত হয় এবং একটি ফলাফল প্রদান করতে পারে। ফাংশনগুলি প্রোগ্রামে কোড পুনরায় ব্যবহারযোগ্যতা বাড়াতে সাহায্য করে, অর্থাৎ একবার একটি ফাংশন ডিফাইন করার পরে, আপনি এটি যেকোনো জায়গায় কল করতে পারেন।
১. ফাংশন ডিক্লারেশন (Function Declaration)
ফাংশন ডিক্লারেশন বা ডিফাইন করার সময় function কীওয়ার্ড ব্যবহার করা হয়, তারপর ফাংশনের নাম, প্যারামিটার (যদি থাকে) এবং ফাংশনের বডি নির্ধারণ করা হয়।
সিনট্যাক্স:
function function_name(parameters)
# কোড ব্লক যা কাজ করবে
return result # অপশনাল, যদি কিছু রিটার্ন করতে চান
endউদাহরণ:
function greet(name)
println("Hello, ", name)
endএখানে, greet নামক ফাংশনটি এক প্যারামিটার name গ্রহণ করে এবং সেটি আউটপুট হিসাবে "Hello, {name}" প্রদর্শন করবে।
২. ফাংশন কল করা (Function Calling)
একবার ফাংশন ডিফাইন করার পর, আপনি যেকোনো স্থানে সেই ফাংশনটি কল করতে পারেন।
সিনট্যাক্স:
function_name(arguments)উদাহরণ:
greet("Alice") # আউটপুট: Hello, Aliceএখানে, "Alice" হচ্ছে ফাংশন greet এর প্যারামিটার হিসেবে পাস করা আর্গুমেন্ট।
৩. ফাংশন রিটার্ন ভ্যালু (Function Return Value)
ফাংশন যখন একটি মান (value) রিটার্ন করে, তখন সেটি অন্য যেকোনো ভেরিয়েবল বা আউটপুট হিসেবে ব্যবহার করা যেতে পারে। return কীওয়ার্ড ব্যবহার করে ফাংশনটি রিটার্ন ভ্যালু প্রদান করে।
সিনট্যাক্স:
function add(a, b)
return a + b
endএখানে, add ফাংশনটি দুটি প্যারামিটার a এবং b নেয় এবং তাদের যোগফল রিটার্ন করে।
ফাংশন কল:
result = add(3, 5)
println(result) # আউটপুট: 8৪. ফাংশনের ডিফল্ট প্যারামিটার ভ্যালু (Default Parameter Values)
জুলিয়া ফাংশনের প্যারামিটারগুলির জন্য ডিফল্ট মানও নির্ধারণ করতে দেয়। এটি এমন একটি পরিস্থিতি তৈরি করে যেখানে আপনি কিছু প্যারামিটার ছাড়াই ফাংশন কল করতে পারেন।
সিনট্যাক্স:
function greet(name="Guest")
println("Hello, ", name)
endএখানে, যদি আপনি greet ফাংশনটি কোনো আর্গুমেন্ট ছাড়াই কল করেন, তবে ডিফল্ট মান "Guest" ব্যবহার করা হবে।
উদাহরণ:
greet() # আউটপুট: Hello, Guest
greet("Alice") # আউটপুট: Hello, Alice৫. একাধিক মান রিটার্ন (Returning Multiple Values)
জুলিয়া একটি ফাংশন থেকে একাধিক মান রিটার্ন করতে পারে। এটি টুপল (tuple) হিসেবে মানগুলি রিটার্ন করে।
উদাহরণ:
function sum_and_diff(a, b)
return a + b, a - b
end
result1, result2 = sum_and_diff(10, 5)
println("Sum: ", result1) # আউটপুট: Sum: 15
println("Difference: ", result2) # আউটপুট: Difference: 5এখানে, sum_and_diff ফাংশন দুটি মান রিটার্ন করে — যোগফল এবং বিয়োগফল।
৬. আর্গুমেন্টগুলির ধরণ (Argument Types)
জুলিয়া ফাংশনের প্যারামিটারগুলির জন্য টাইপ নির্ধারণ করতে পারে, অর্থাৎ ফাংশনটি কেবল নির্দিষ্ট ধরণের মান গ্রহণ করবে।
উদাহরণ:
function multiply(a::Int, b::Float64)
return a * b
end
println(multiply(5, 3.2)) # আউটপুট: 16.0এখানে, a প্যারামিটারটি কেবল Int টাইপের হতে পারে এবং b প্যারামিটারটি কেবল Float64 টাইপের হতে পারে।
সারসংক্ষেপ
- ফাংশন ডিক্লারেশন:
functionকীওয়ার্ড দিয়ে ফাংশন ডিফাইন করা হয়। - ফাংশন কল: ডিফাইন করা ফাংশনকে কল করতে তার নাম এবং প্যারামিটার পাস করা হয়।
- রিটার্ন ভ্যালু:
returnকীওয়ার্ড ব্যবহার করে ফাংশন থেকে মান রিটার্ন করা হয়। - ডিফল্ট প্যারামিটার ভ্যালু: ফাংশন প্যারামিটারগুলির জন্য ডিফল্ট মান নির্ধারণ করা যেতে পারে।
- একাধিক মান রিটার্ন: একটি ফাংশন থেকে একাধিক মান টুপল আকারে রিটার্ন করা যায়।
ফাংশনগুলি কোড পুনরায় ব্যবহারযোগ্যতা নিশ্চিত করে এবং কোডের গঠন ভালো রাখে।
Read more