Advanced Iteration Techniques

Comprehensions এবং Generators - কফিস্ক্রিপ্ট (CoffeeScript) - Web Development

316

CoffeeScript-এ iteration (পুনরাবৃত্তি) করা অনেক সহজ এবং কার্যকরী। JavaScript-এর মতোই CoffeeScript-এ লুপ এবং iteration এর জন্য বিভিন্ন কৌশল ব্যবহার করা যায়। CoffeeScript এর সিনট্যাক্স এতটাই পরিষ্কার এবং সংক্ষিপ্ত যে iteration techniques গুলি আরও সহজ হয়ে ওঠে। এখানে আমরা CoffeeScript-এ কিছু Advanced Iteration Techniques আলোচনা করবো, যেমন:

  • Array Comprehensions
  • Iterating over objects
  • Custom Iterators
  • Iterating with forEach and map

1. Array Comprehensions

Array comprehension CoffeeScript-এর একটি শক্তিশালী বৈশিষ্ট্য, যা আপনাকে অ্যারে থেকে নতুন অ্যারে তৈরি করতে সাহায্য করে। এটি মূলত এক্সপ্রেশন, রেঞ্জ এবং শর্তের সাথে ব্যবহার করা হয়।

উদাহরণ: Basic Array Comprehension

squares = (x * x for x in [1..5])
console.log squares  # [1, 4, 9, 16, 25]

এখানে, [1..5] একটি রেঞ্জ যা ১ থেকে ৫ পর্যন্ত সংখ্যা নিয়ে আসে এবং x * x দ্বারা প্রতিটি সংখ্যার বর্গ তৈরি করা হয়।

উদাহরণ: Array Comprehension with Condition

evenSquares = (x * x for x in [1..10] when x % 2 == 0)
console.log evenSquares  # [4, 16, 36, 64, 100]

এখানে, when x % 2 == 0 শর্তটি ব্যবহার করা হয়েছে, যার মাধ্যমে কেবলমাত্র যুগল সংখ্যা (even numbers) এর বর্গ নেওয়া হয়েছে।

JavaScript-এ কম্পাইল হওয়া কোড:

var squares;

squares = (function() {
  var i, ref, results;
  results = [];
  for (i = 1, ref = 5; i <= ref; i++) {
    results.push(i * i);
  }
  return results;
})();
console.log(squares);  // [1, 4, 9, 16, 25]

2. Iterating over Objects

CoffeeScript-এ অবজেক্টের উপর iteration করার জন্য সহজ সিনট্যাক্স ব্যবহার করা হয়। আপনি for লুপ ব্যবহার করে অবজেক্টের প্রতিটি কী-ভ্যালু জোড়া নিয়ে কাজ করতে পারেন।

উদাহরণ: Iterating Over Object Keys and Values

person = name: "Alice", age: 30, city: "New York"

for key, value of person
  console.log "#{key}: #{value}"

এখানে, for key, value of person অবজেক্টের প্রতিটি কী-ভ্যালু জোড়ার জন্য পুনরাবৃত্তি করে। ফলস্বরূপ:

name: Alice
age: 30
city: New York

JavaScript-এ কম্পাইল হওয়া কোড:

var person, key, value;

person = {name: "Alice", age: 30, city: "New York"};

for (key in person) {
  if (person.hasOwnProperty(key)) {
    value = person[key];
    console.log(key + ": " + value);
  }
}

3. Custom Iterators

CoffeeScript-এ আপনি নিজস্ব iterator তৈরি করতে পারেন, যা আপনাকে কাস্টম লজিক অনুযায়ী একটি অ্যারে বা তালিকার উপর iteration করার সুবিধা দেয়।

উদাহরণ: Custom Iterator

range = (start, end) ->
  for i in [start..end]
    yield i

for num in range(1, 5)
  console.log num

এখানে, range ফাংশনটি একটি কাস্টম iterator তৈরি করেছে যা start থেকে end পর্যন্ত সংখ্যা পুনরাবৃত্তি করে। yield কিওয়ার্ডটি iteration এর মাধ্যমে মান প্রদান করে।

JavaScript-এ কম্পাইল হওয়া কোড:

var range;

range = function(start, end) {
  var i, ref, results;
  results = [];
  for (i = start, ref = end; i <= ref; i++) {
    results.push(i);
  }
  return results;
};

var num, ref;

ref = range(1, 5);
for (var i = 0, len = ref.length; i < len; i++) {
  num = ref[i];
  console.log(num);
}

4. Iterating with forEach and map

CoffeeScript-এ forEach এবং map এর মতো আরামদায়ক array methods ব্যবহার করা যায়। এগুলি JavaScript-এর অ্যারে মেথডের মতোই কাজ করে এবং কিছুটা সহজ সিনট্যাক্সে লেখা হয়।

উদাহরণ: forEach ব্যবহার

numbers = [1, 2, 3, 4, 5]

numbers.forEach (num) -> console.log num

এখানে, forEach method প্রতিটি উপাদান নিয়ে ফাংশনটি চালায়।

উদাহরণ: map ব্যবহার

numbers = [1, 2, 3, 4, 5]

squares = numbers.map (num) -> num * num
console.log squares  # [1, 4, 9, 16, 25]

এখানে, map method প্রতিটি উপাদানের উপর num * num এক্সপ্রেশন প্রয়োগ করে এবং একটি নতুন অ্যারে তৈরি করে।

JavaScript-এ কম্পাইল হওয়া কোড:

var numbers, squares;

numbers = [1, 2, 3, 4, 5];

numbers.forEach(function(num) {
  return console.log(num);
});

squares = numbers.map(function(num) {
  return num * num;
});
console.log(squares);  // [1, 4, 9, 16, 25]

5. Breaking and Continuing in Iterations

CoffeeScript-এ break এবং continue কিওয়ার্ডগুলি iteration-এর মধ্যে লুপ নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

উদাহরণ: break এবং continue

numbers = [1, 2, 3, 4, 5, 6]

for num in numbers
  continue if num % 2 == 0  # শুধুমাত্র বিজোড় সংখ্যা প্রিন্ট করবে
  break if num > 4  # ৪-এর পর loop বন্ধ হয়ে যাবে
  console.log num

এখানে, continue ব্যবহার করে বিজোড় সংখ্যা বাদ দেয়া হয়েছে এবং break ব্যবহার করে ৪-এর পর iteration বন্ধ করা হয়েছে।

JavaScript-এ কম্পাইল হওয়া কোড:

var numbers, num;

numbers = [1, 2, 3, 4, 5, 6];

for (var i = 0, len = numbers.length; i < len; i++) {
  num = numbers[i];
  if (num % 2 === 0) {
    continue;
  }
  if (num > 4) {
    break;
  }
  console.log(num);
}

সারাংশ

  • Array Comprehensions: CoffeeScript-এ অ্যারে থেকে নতুন অ্যারে তৈরি করার একটি সংক্ষিপ্ত এবং শক্তিশালী পদ্ধতি।
  • Iterating over Objects: CoffeeScript-এ অবজেক্টের উপর সহজেই iteration করা যায়।
  • Custom Iterators: নিজস্ব iterator তৈরি করা সম্ভব, যা কাস্টম লজিক অনুযায়ী পুনরাবৃত্তি করতে সাহায্য করে।
  • forEach এবং map: CoffeeScript-এ অ্যারে মেথড forEach এবং map ব্যবহার করে iteration সহজ করা যায়।
  • Breaking and Continuing: লুপের মধ্যে break এবং continue ব্যবহার করে iteration নিয়ন্ত্রণ করা যায়।

CoffeeScript-এর Advanced Iteration Techniques-এর মাধ্যমে আপনি আপনার কোডকে আরও কার্যকরী এবং সংক্ষিপ্ত করতে পারবেন, যা কোড লেখার অভিজ্ঞতাকে উন্নত করে।

Content added By
Promotion

Are you sure to start over?

Loading...