জুলিয়া প্রোগ্রামিং ভাষায় Named Functions এবং Anonymous Functions দুই ধরনের ফাংশন ব্যবহৃত হয়। এগুলির মধ্যে প্রধান পার্থক্য হল Named Functions-এ ফাংশনের একটি নাম থাকে, যেখানে Anonymous Functions-এ ফাংশনের কোনো নাম থাকে না। নিচে এই দুটি ধরনের ফাংশনের বৈশিষ্ট্য এবং উদাহরণ দেখানো হলো।
১. Named Functions
Named Function এমন একটি ফাংশন যার একটি নির্দিষ্ট নাম থাকে এবং যা পরবর্তী কোডে পুনরায় ব্যবহার করা যায়। এগুলি সাধারণত ফাংশন ডিফাইন করার সময় একটি নাম ব্যবহার করে, যাতে পরবর্তীতে কোডের যেকোনো স্থানে ফাংশনটি কল করা যায়।
Named Function এর সিনট্যাক্স:
function function_name(arguments)
# কোডের অংশ
endউদাহরণ ১: Named Function তৈরি করা
function add(a, b)
return a + b
end
result = add(3, 5) # ফাংশন কল
println(result) # আউটপুট হবে: 8এখানে, add একটি Named Function যা দুইটি আর্গুমেন্ট গ্রহণ করে এবং তাদের যোগফল ফেরত দেয়।
উদাহরণ ২: Named Function এর অন্যান্য ব্যবহার
function multiply(x, y)
return x * y
end
product = multiply(4, 5) # ফাংশন কল
println(product) # আউটপুট হবে: 20এখানে, multiply একটি Named Function যা দুটি সংখ্যার গুণফল বের করে।
২. Anonymous Functions
Anonymous Functions (বা lambda functions) হল এমন ফাংশন যার কোনো নাম থাকে না। এগুলি সাধারণত একক ব্যবহার বা অস্থায়ী ফাংশন হিসেবে ব্যবহৃত হয়। এই ধরনের ফাংশন তৈরি করা সহজ এবং এগুলি সাধারণত যেখানে একবার ব্যবহারের প্রয়োজন, সেখানে সরাসরি কোডে লেখা হয়।
Anonymous Function এর সিনট্যাক্স:
function_name = (arguments) -> expressionএখানে, arguments ফাংশনের আর্গুমেন্ট, এবং expression হল সেই কোড যা আর্গুমেন্টের উপর কাজ করবে।
উদাহরণ ১: Anonymous Function ব্যবহার করা
add = (a, b) -> a + b
result = add(3, 5) # ফাংশন কল
println(result) # আউটপুট হবে: 8এখানে, add একটি Anonymous Function যা দুইটি আর্গুমেন্ট গ্রহণ করে এবং তাদের যোগফল প্রদান করে।
উদাহরণ ২: Array এর সাথে Anonymous Function ব্যবহার
arr = [1, 2, 3, 4, 5]
# Anonymous Function ব্যবহার করে array তে প্রতিটি মানকে দ্বিগুণ করা
doubled_arr = map(x -> x * 2, arr)
println(doubled_arr) # আউটপুট হবে: [2, 4, 6, 8, 10]এখানে, x -> x * 2 একটি Anonymous Function যা arr এর প্রতিটি উপাদানকে দ্বিগুণ করে এবং map ফাংশনের মাধ্যমে সেই মানগুলো তৈরি হয়।
৩. Named এবং Anonymous Functions এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Named Functions | Anonymous Functions |
|---|---|---|
| নাম | একটি নাম থাকে | কোনো নাম থাকে না |
| ব্যবহার | কোডের যেকোনো স্থানে পুনরায় ব্যবহার করা যায় | একবার ব্যবহারের জন্য উপযুক্ত |
| সিনট্যাক্স | function function_name(arguments) | (arguments) -> expression |
| ব্যবহারের পরিসীমা | একাধিক স্থানে ফাংশনটি ব্যবহার করা যায় | সাধারণত একক ব্যবহার বা অস্থায়ী ফাংশন |
| উদাহরণ | function add(a, b) | multiply = (x, y) -> x * y |
৪. অন্যান্য ব্যবহার
Named Function এর অন্যান্য উদাহরণ:
function square(x)
return x^2
end
squared_value = square(4) # ফাংশন কল
println(squared_value) # আউটপুট হবে: 16Anonymous Function এর অন্যান্য উদাহরণ:
# Array তে সব সংখ্যার বর্গফল বের করা
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(x -> x^2, numbers)
println(squared_numbers) # আউটপুট হবে: [1, 4, 9, 16, 25]এখানে, x -> x^2 একটি Anonymous Function যা numbers এর প্রতিটি উপাদানকে বর্গফল করে।
সারসংক্ষেপ
Named Functions এবং Anonymous Functions জুলিয়া ভাষায় দুটি গুরুত্বপূর্ণ ফাংশন ধারণা। Named Functions এর একটি নির্দিষ্ট নাম থাকে এবং এগুলি বারবার ব্যবহার করা যায়। অন্যদিকে, Anonymous Functions কোনও নাম ছাড়া একবার ব্যবহারের জন্য তৈরি করা হয় এবং এগুলি সাধারনত একক বা অস্থায়ী কাজের জন্য ব্যবহৃত হয়। Anonymous Functions সহজ এবং সংক্ষিপ্ত ফাংশনালিটি প্রদান করে, যেখানে Named Functions বড় এবং পুনরায় ব্যবহৃত কোড ব্লক তৈরির জন্য উপযুক্ত।
Read more