Arrays: একমাত্রিক এবং দ্বিমাত্রিক অ্যারে

Data Types এবং Arrays (ডেটা টাইপ এবং অ্যারে) - সলিডিটি (Solidity) - Computer Programming

899

Solidity তে অ্যারে একটি ডেটা স্ট্রাকচার যা একই ধরনের মান সংরক্ষণ করার জন্য ব্যবহৃত হয়। অ্যারে দুটি ধরনের হতে পারে: একমাত্রিক অ্যারে (1D Array) এবং দ্বিমাত্রিক অ্যারে (2D Array)। এই দুটি অ্যারের মাধ্যমে একাধিক মানের সংগ্রহ তৈরি করা যায় এবং তাদের ওপর বিভিন্ন অপারেশন করা যায়।


1. একমাত্রিক অ্যারে (1D Array)

একমাত্রিক অ্যারে হল এমন একটি অ্যারে যেখানে এক ধরনের মান একমাত্রিকভাবে সংরক্ষিত থাকে, অর্থাৎ একটি মাত্র সারিতে একাধিক মান রাখা হয়। এটি সবচেয়ে সাধারণ ধরনের অ্যারে, যেখানে একটি মানের লিস্ট বা সংগ্রহ তৈরি করা হয়।

গঠন:

type[] public arrayName;

এখানে, type হল ডেটা টাইপ (যেমন uint, address, string), এবং arrayName হল অ্যারের নাম।

উদাহরণ:

pragma solidity ^0.8.0;

contract MyContract {
    uint256[] public numbers;

    function addNumber(uint256 _number) public {
        numbers.push(_number); // numbers অ্যারে তে নতুন মান যুক্ত করা
    }

    function getNumber(uint256 _index) public view returns (uint256) {
        return numbers[_index]; // নির্দিষ্ট ইনডেক্স থেকে মান ফেরত নেয়া
    }

    function getLength() public view returns (uint256) {
        return numbers.length; // অ্যারের দৈর্ঘ্য
    }
}

এখানে, numbers একটি একমাত্রিক অ্যারে যা uint256 ধরনের মান ধারণ করে। addNumber ফাংশনটি নতুন সংখ্যা অ্যারে তে যোগ করে, getNumber ফাংশনটি নির্দিষ্ট ইনডেক্স থেকে মান নেয় এবং getLength ফাংশনটি অ্যারের দৈর্ঘ্য প্রদান করে।


2. দ্বিমাত্রিক অ্যারে (2D Array)

দ্বিমাত্রিক অ্যারে এমন একটি অ্যারে যেখানে একাধিক একমাত্রিক অ্যারে সংরক্ষিত থাকে। এটি একটি অ্যারে যার ভিতরে আরো অ্যারে থাকে। এটা সাধারণত মেট্রিক্স বা টেবিলের মতো ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।

গঠন:

type[][] public arrayName;

এখানে, type হল ডেটা টাইপ (যেমন uint, address, string), এবং arrayName হল অ্যারের নাম।

উদাহরণ:

pragma solidity ^0.8.0;

contract MyContract {
    uint256[][] public matrix;

    function addRow(uint256[] memory _row) public {
        matrix.push(_row); // নতুন রো অ্যারেতে যোগ করা
    }

    function getElement(uint256 rowIndex, uint256 colIndex) public view returns (uint256) {
        return matrix[rowIndex][colIndex]; // নির্দিষ্ট রো এবং কলাম থেকে মান ফেরত নেয়া
    }

    function getRowLength(uint256 rowIndex) public view returns (uint256) {
        return matrix[rowIndex].length; // নির্দিষ্ট রোর দৈর্ঘ্য
    }
}

এখানে, matrix একটি দ্বিমাত্রিক অ্যারে যা uint256 ধরনের মান ধারণ করে। addRow ফাংশনটি একটি নতুন রো অ্যারেতে যোগ করে, getElement ফাংশনটি নির্দিষ্ট রো এবং কলাম থেকে মান নেয়, এবং getRowLength ফাংশনটি নির্দিষ্ট রোর দৈর্ঘ্য প্রদান করে।


3. একমাত্রিক ও দ্বিমাত্রিক অ্যারে এর মধ্যে পার্থক্য

  • একমাত্রিক অ্যারে (1D Array): একমাত্রিক অ্যারে একটি সোজা লিস্ট যেখানে এক ধরনের একাধিক মান রাখা হয়। এটি সহজ এবং কমপ্লেক্স নয়।
  • দ্বিমাত্রিক অ্যারে (2D Array): দ্বিমাত্রিক অ্যারে একাধিক একমাত্রিক অ্যারের একটি সারণী বা টেবিলের মতো হয়। এটি বেশি ডেটা স্টোর করতে সক্ষম এবং মেট্রিক্স বা টেবিল আকারে ডেটা সংগঠিত করতে ব্যবহৃত হয়।

সারাংশ

Solidity তে একমাত্রিক অ্যারে এবং দ্বিমাত্রিক অ্যারে দুটি প্রধান ধরনের অ্যারে ব্যবহৃত হয়। একমাত্রিক অ্যারে একটি সরল লিস্ট যা একই ধরনের মান ধারণ করে, এবং দ্বিমাত্রিক অ্যারে একাধিক একমাত্রিক অ্যারের একটি টেবিলের মতো ব্যবস্থা। অ্যারে ব্যবহার করে ডেটা সংরক্ষণ এবং সঞ্চালন করা যায়, যা স্মার্ট কন্ট্রাক্টে ডেটা পরিচালনার জন্য খুবই কার্যকরী।

Content added By
Promotion

Are you sure to start over?

Loading...