Slicing এবং Range ব্যবহার

Arrays এবং Strings (অ্যারে এবং স্ট্রিংস) - ডি প্রোগ্রামিং (D Programming) - Computer Programming

419

Slicing এবং Range ব্যবহার


Slicing এবং Range হল ডি প্রোগ্রামিং ভাষায় ডেটা কাঠামো, বিশেষত অ্যারে এবং সিকোয়েন্স (sequence) এর সাথে কাজ করার জন্য শক্তিশালী বৈশিষ্ট্য। এগুলি ব্যবহার করে আপনি অ্যারে বা স্ট্রিংয়ের অংশ চয়ন করতে পারেন, এমনকি নির্দিষ্ট একটি রেঞ্জের মধ্যে কাজ করতে পারেন। এই বৈশিষ্ট্যগুলো কোড লেখাকে সহজ এবং নমনীয় করে তোলে।


1. Slicing (অংশ ভাগ করা)

Slicing হল একটি পদ্ধতি যার মাধ্যমে অ্যারে বা স্ট্রিংয়ের একটি নির্দিষ্ট অংশকে চয়ন করা হয়। এটি নির্দিষ্ট সূচক (index) এর মধ্যে একটি সাবসেট তৈরি করে, যা কেবলমাত্র নির্দিষ্ট আউটপুট প্রদান করে।

Slicing সঠিকভাবে কাজ করার জন্য সি প্রোগ্রামিং ভাষার মধ্যে কোনও নির্দিষ্ট ফিচার নেই, কিন্তু ডি প্রোগ্রামিং ভাষায় slice ফিচারটি ব্যবহার করা হয়। এই ফিচারটি অ্যারে, স্ট্রিং, অথবা সিকোয়েন্সের অংশ চয়ন করতে ব্যবহৃত হয়।

উদাহরণ:

import std.stdio;

void main() {
    string text = "Hello, D!";
    
    // Slicing দিয়ে প্রথম 5 অক্ষর নেয়া
    string slicedText = text[0..5];
    writeln(slicedText);  // আউটপুট: Hello
}

এখানে text[0..5] মানে প্রথম থেকে পঞ্চম ইনডেক্স পর্যন্ত আউটপুট দেয়া। 0..5 নির্দেশ করে প্রথম থেকে শুরু করে, 5 তম অক্ষর পর্যন্ত (5 তম ইনডেক্স ছাড়া) কেটে নেবে।

স্লাইসিংয়ের সেম্যান্টিক:

  • start..end: এই রেঞ্জে start ইনডেক্স থেকে end ইনডেক্স পর্যন্ত স্লাইস হবে, তবে end ইনডেক্সটি অন্তর্ভুক্ত হবে না।
  • start..$: যদি $ ব্যবহার করেন, তাহলে এটি শেষ ইনডেক্স পর্যন্ত স্লাইস করবে।

উদাহরণ:

import std.stdio;

void main() {
    string text = "Hello, D!";
    
    // Slicing দিয়ে শেষ থেকে 3 অক্ষর নেয়া
    string slicedText = text[$-3..$];
    writeln(slicedText);  // আউটপুট: D!
}

এখানে $-3..$ নির্দেশ করে শেষ থেকে তিনটি অক্ষর নেয়া।


2. Range (রেঞ্জ) ব্যবহার

Range একটি উপকারী বৈশিষ্ট্য, যা ডি প্রোগ্রামিং ভাষায় একটি নির্দিষ্ট রেঞ্জে ডেটা অ্যাক্সেস বা প্রক্রিয়াকরণ করতে ব্যবহৃত হয়। এটি সাধারণত ইটারেবল (iterable) অ্যারে বা সিকোয়েন্সের সাথে কাজ করতে ব্যবহৃত হয়। range ব্যবহার করে আপনি একটি নির্দিষ্ট স্টার্ট পয়েন্ট থেকে একটি স্টপ পয়েন্ট পর্যন্ত ইটারেট করতে পারেন।

উদাহরণ:

import std.stdio;

void main() {
    // 0 থেকে 4 পর্যন্ত একটি রেঞ্জ
    foreach (i; 0..5) {
        writeln(i);  // আউটপুট: 0 1 2 3 4
    }
}

এখানে 0..5 একটি রেঞ্জ, যার মাধ্যমে 0 থেকে 4 পর্যন্ত মানগুলি আউটপুট হবে।

Range এর কিছু বৈশিষ্ট্য:

  • 0..n: এটি 0 থেকে n-1 পর্যন্ত একটি রেঞ্জ তৈরি করে।
  • start..end: এটি একটি নির্দিষ্ট রেঞ্জ তৈরি করে, যেখানে start হল রেঞ্জের শুরুর পয়েন্ট এবং end হল রেঞ্জের শেষ পয়েন্ট।
  • $ এর ব্যবহার: যদি $ ব্যবহার করেন, তাহলে এটি শেষ ইনডেক্স পর্যন্ত রেঞ্জ তৈরি করবে।

উদাহরণ (Range with step):

import std.stdio;

void main() {
    // রেঞ্জের মধ্যে একটি স্টেপ সহ মান নেয়া
    foreach (i; 0..10 by 2) {
        writeln(i);  // আউটপুট: 0 2 4 6 8
    }
}

এখানে 0..10 by 2 নির্দেশ করছে যে, এটি 0 থেকে 10 পর্যন্ত ইটারেট করবে এবং প্রতি দুইটি স্টেপে একটি মান নিবে।


3. Slicing এবং Range একসাথে ব্যবহার

আপনি Slicing এবং Range একসাথে ব্যবহার করতে পারেন, বিশেষ করে যখন আপনার নির্দিষ্ট রেঞ্জের মধ্যে কোন ডেটা অংশ বের করতে হয়।

উদাহরণ:

import std.stdio;

void main() {
    string text = "Hello, D!";
    
    // Range এর মাধ্যমে স্লাইসিং করা
    foreach (i; 0..5) {
        writeln(text[i]);  // আউটপুট: H e l l o
    }
}

এখানে text[i] ব্যবহার করে স্লাইসিং এবং রেঞ্জ একসাথে ব্যবহার করা হয়েছে।


সারসংক্ষেপ

  • Slicing: এটি একটি উপকারী বৈশিষ্ট্য, যা একটি স্ট্রিং বা অ্যারের নির্দিষ্ট অংশ বের করার জন্য ব্যবহৃত হয়। start..end রেঞ্জ ব্যবহার করে আপনি অ্যারে বা স্ট্রিংয়ের একটি নির্দিষ্ট অংশ নিয়ে আসতে পারেন।
  • Range: এটি ডি প্রোগ্রামিং ভাষায় একটি ইটারেবল রেঞ্জ তৈরি করে, যার মাধ্যমে একটি নির্দিষ্ট রেঞ্জের মধ্যে ইটারেট করতে পারেন। আপনি by ব্যবহার করে ইটারেশন স্টেপও নির্ধারণ করতে পারেন।

এই দুটি বৈশিষ্ট্য কোড লেখার সময় আপনাকে আরো নমনীয়তা এবং সহজে ডেটা পরিচালনা করার সুযোগ দেয়।

Content added By
Promotion

Are you sure to start over?

Loading...