CoffeeScript-এ অ্যনোনিমাস ফাংশন এবং কলব্যাক ব্যবহারের ধারণা JavaScript-এর মতোই, তবে CoffeeScript এর সিনট্যাক্স অনেক সহজ এবং সংক্ষিপ্ত। অ্যনোনিমাস ফাংশন এবং কলব্যাক ফাংশন ব্যবহার করে আপনি কার্যকরী এবং পঠনযোগ্য কোড লিখতে পারবেন।
অ্যনোনিমাস ফাংশন (Anonymous Functions)
অ্যনোনিমাস ফাংশন হলো সেই সব ফাংশন যেগুলোর কোনো নাম থাকে না। এগুলো সাধারণত কোনো নির্দিষ্ট কাজ সম্পাদন করার জন্য ব্যবহার করা হয় এবং সাধারণত অন্য ফাংশন বা মেথডে পাস করা হয়।
CoffeeScript-এ অ্যনোনিমাস ফাংশন ঘোষণা করতে -> বা => (অ্যারো ফাংশন) ব্যবহার করা হয়।
উদাহরণ:
# সাধারণ অ্যনোনিমাস ফাংশন
multiply = (a, b) -> a * b
console.log multiply(5, 6) # 30
কম্পাইল হওয়া JavaScript:
var multiply;
multiply = function(a, b) {
return a * b;
};
console.log(multiply(5, 6)); // 30
কলব্যাক (Callback Functions)
কলব্যাক ফাংশন হলো একটি ফাংশন যা অন্য একটি ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয় এবং প্রথম ফাংশনটি সম্পূর্ণ হলে কলব্যাকটি রান হয়। CoffeeScript-এ কলব্যাক ফাংশন খুব সহজে ব্যবহার করা যায়।
উদাহরণ: অ্যাসিঙ্ক্রোনাস কলব্যাক ফাংশন
ধরা যাক, আপনি একটি সিমুলেটেড অ্যাসিঙ্ক্রোনাস কাজ করছেন যেখানে প্রথমে একটি ফাংশন রান হবে এবং তারপর একটি কলব্যাক ফাংশন চালু হবে।
processData = (data, callback) ->
console.log "Processing data: #{data}"
callback() # কলব্যাক কল করা হচ্ছে
done = -> console.log "Data processed successfully!"
processData("User Info", done)
কম্পাইল হওয়া JavaScript:
var processData, done;
processData = function(data, callback) {
console.log("Processing data: " + data);
return callback(); // কলব্যাক কল করা হচ্ছে
};
done = function() {
return console.log("Data processed successfully!");
};
processData("User Info", done);
এই কোডে processData ফাংশন একটি ডাটা প্রক্রিয়া করে এবং পরে কলব্যাক ফাংশন done কল করা হয়।
অ্যারো ফাংশন (Arrow Functions)
CoffeeScript-এ অ্যারো ফাংশন => ব্যবহার করে লেখা হয়, যা this বাইন্ডিং-কে সহজ করে তোলে এবং কোড আরও কমপ্যাক্ট করে।
উদাহরণ:
numbers = [1, 2, 3, 4, 5]
# অ্যারো ফাংশন ব্যবহার করে কলব্যাক
squaredNumbers = numbers.map (num) -> num * num
console.log squaredNumbers # [1, 4, 9, 16, 25]
কম্পাইল হওয়া JavaScript:
var numbers, squaredNumbers;
numbers = [1, 2, 3, 4, 5];
squaredNumbers = numbers.map(function(num) {
return num * num;
});
console.log(squaredNumbers); // [1, 4, 9, 16, 25]
এখানে, map মেথডের মধ্যে একটি অ্যারো ফাংশন কলব্যাক হিসেবে ব্যবহার করা হয়েছে, যা প্রতিটি সংখ্যার বর্গফল গণনা করে।
কলব্যাক ফাংশন এবং অ্যাসিঙ্ক্রোনাস কোড
CoffeeScript-এ অ্যাসিঙ্ক্রোনাস কলব্যাক ফাংশন ব্যবহার করা সহজ। যেমন, একটি ফাইল পড়ার বা API কল করার জন্য কলব্যাক ব্যবহার করা যেতে পারে।
উদাহরণ: ফাইল রিডিং (ফেক)
readFile = (file, callback) ->
console.log "Reading file: #{file}"
callback("File content loaded")
done = (content) -> console.log content
readFile("data.txt", done)
কম্পাইল হওয়া JavaScript:
var readFile, done;
readFile = function(file, callback) {
console.log("Reading file: " + file);
return callback("File content loaded");
};
done = function(content) {
return console.log(content);
};
readFile("data.txt", done);
এখানে, readFile একটি কলব্যাক ফাংশন গ্রহণ করে যা ফাইলের কনটেন্ট লোড হয়ে গেলে চালানো হয়।
সারাংশ
CoffeeScript-এ অ্যনোনিমাস ফাংশন এবং কলব্যাক ফাংশন ব্যবহারের মাধ্যমে আপনি জটিল এবং অ্যাসিঙ্ক্রোনাস কাজগুলো আরও সহজভাবে করতে পারবেন। অ্যনোনিমাস ফাংশন মূলত ছোট ফাংশন যা অন্য ফাংশনের আর্গুমেন্ট হিসেবে ব্যবহৃত হয়, এবং কলব্যাক ফাংশন একটি ফাংশন যা অন্য একটি ফাংশন সম্পন্ন হওয়ার পরে রান হয়। CoffeeScript-এর সরল সিনট্যাক্স এই কাজগুলো করতে আপনাকে সাহায্য করে, যা JavaScript এর তুলনায় কোডকে আরও পরিষ্কার এবং পঠনযোগ্য করে তোলে।
Read more