جستجو برای:
سبد خرید 0
  • آخرین دوره های آموزشی
  • درخواست پروژه
  • مقالات بلاکچین
  • تماس با ما

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در سیاست حفظ حریم خصوصی ما شرح داده می شود مورد استفاده قرار می گیرد.

  • 09395149363
  • info@fara-zaman.ir
  • لیست علاقه مندی ها
0
فرازمان | آکادمی بلاکچین
  • آخرین دوره های آموزشیداغ
  • درخواست پروژه
  • مقالات بلاکچینجدید
  • تماس با ما
آخرین اطلاعیه ها
جهت نمایش اطلاعیه باید وارد سایت شوید
شروع کنید

وبلاگ

فرازمان | آکادمی بلاکچیناخبارآموزش برنامه نویسی سالیدیتیآرایه(Array) در قرارداد هوشمند Solidity

آرایه(Array) در قرارداد هوشمند Solidity

22 اردیبهشت 1401
ارسال شده توسط مریم طاهری
آموزش برنامه نویسی سالیدیتی
آرایه(Array) در قرارداد هوشمند Solidity

آرایه(Array) در قرارداد هوشمند Solidity به این صورت است که به جای ایجاد متغیرهای مختلف از یک نوع داده، می توانید یک آرایه برای ذخیره لیستی از عناصر ایجاد کنید. آرایه ها ساختارهای داده ای هستند که مجموعه ای از اقلام از همان نوع داده را در یک مکان اختصاص داده شده ذخیره می کنند.

سینتکس اصلی برای ایجاد یک آرایه در قرارداد هوشمند به شرح زیر است:

				
					pragma solidity ^0.6.0;

contract samplyArray {
    
    uint[] intergerArray;       //sample array of integers
    bool[] boolArray;           //sample array of booleans
    address[] addressArray;     //sample array of address
				
			

سالیدیتی(Solidity) از آرایه هایی با اندازه های ثابت یا پویا پشتیبانی می کند. آرایه ها دارای یک مکان حافظه پیوسته هستند که به این معنی است که کمترین index با اولین عنصر مرتبط است و بالاترین index نشان دهنده آخرین عنصر است.

در مثال زیر آلیس اولین آیتم در آرایه است و مکان index 0 به آن اختصاص داده شده است و سیندی آخرین مورد در آرایه در مکان index 2 است.

VALUEALICEBOBCINDY
Index012

 کد زیر نحوه ایجاد یک آرایه از نوع پویا و ثابت را توضیح می دهد.

				
					pragma solidity ^0.6.0;

contract samplyArray {
    
    uint[] public myArray; //this is a dynamic array of type uint
    uint[] public myArray2 = [1, 2, 3]; //this is a dynamic array with 1, 2 and 3 as default values
    uint[10] public myFixedSizeArray; //this is a fixed size array of type uint
				
			

آرایه ها دارای توابعی هستند که به شما امکان اضافه کردن، به روز رسانی و حذف اطلاعات را می دهد.

  • Push – یک عنصر را به انتهای آرایه اضافه می کند
  • Pop – آخرین عنصر آرایه را حذف می کند
  • Length – طول آرایه را بدست می آورد. به عنوان مثال چند آیتم در آرایه وجود دارد
  • delete – به شما امکان می دهد یک مورد را در یک مکان خاص در آرایه حذف کنید.

کد زیر می توانید کد این دستورات را ببینید:

				
					 //this will add i to the end of myArray
    function pushistoAdd(uint i) public {
        myArray.push(i); 
    }
    

    //returns the value in the specified position of the array
    function getIteminArray(uint index) public view returns (uint) {
        myArray[index]; 
    }

    
    //this will update an item in the array
    function updatethearray(uint locationinarray, uint valuetochangeto) public {
        myArray[locationinarray] = valuetochangeto;
    } 
    
    
    //this is to delete an item stored at a specific index in the array.  
    //Once you delete the item the value in the array is set back to 0 for a uint.
    function remove(uint index) public {
        delete myArray[index];  
    }
				
			

علاوه بر این:

  • برای اعلام یک آرایه پویا از [ ]
  • برای اعلام یک آرایه ثابت از [n] استفاده کنید که n = تعداد آیتم هایی که در آرایه می خواهید
  • آرایه از index 0 شروع می شود
  • عناصر موجود در آرایه uint به مقدار پیش فرض خود 0 مقداردهی اولیه می شوند.
  • اگر سعی کنید موردی را که در آرایه نیست بازیابی کنید، گزارش یک کد عملیات نامعتبر چاپ می کند.

در زیر آرایه های نمونه در قرارداد هوشمند Solidity آمده است. قرارداد شامل تمام ویژگی‌های آرایه اولیه است که برای شروع به آن نیاز دارید. می توانید از این به عنوان یک نقطه مرجع برای ایجاد آرایه های خود در یک قرارداد هوشمند استفاده کنید.

				
					// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.6.0;

contract samplyArray {
    
    uint[] public myArray; //this is a dynamic array of type uint
    uint[] public myArray2 = [1, 2, 3]; //this is a dynamic array with 1, 2 and 3 as default values
    uint[10] public myFixedSizeArray; //this is a fixed size array of type uint
    
    
    uint[] intergerArray;       //sample showing initialization of an array of integers
    bool[] boolArray;           //sample showing initialization of an array of booleans
    address[] addressArray;     //sample showing initialization of an array of address etc.
    
    
    //this will add i to the end of myArray
    function pushistoAdd(uint i) public {
        myArray.push(i); 
    }
    

    //returns the value in the specified position of the array
    function getIteminArray(uint index) public view returns (uint) {
        myArray[index]; 
    }

    
    //this will update an item in the array
    function updatethearray(uint locationinarray, uint valuetochangeto) public {
        myArray[locationinarray] = valuetochangeto;
    } 
    
    
    //this is to delete an item stored at a specific index in the array.  
    //Once you delete the item the value in the array is set back to 0 for a uint.
    function remove(uint index) public {
        delete myArray[index]; 
    }
    
       
    //this will return the length of myArray
    function getLength() public view returns (uint) {
        return myArray.length; 
    }
       

}
				
			

اگر یک آیتم را در وسط یک آرایه حذف کنید، مکان آرایه همچنان اشغال شده است. بنابراین برای اینکه آرایه ها منظم و فشرده نگه داشته شوند، آیتم را در انتهای آرایه خود به موقعیت موردی که حذف می کنید منتقل کنید. به عنوان مثال:

  • آرایه [1، 2، 3، 4]
  • بیایید 2 را حذف کنیم
  • ما با [1، 0، 3، 4] باقی مانده ایم
  • برای فشرده نگه داشتن آرایه، آیتم انتهای آرایه را به موقعیت 1 ببرید
  • [1، 4، 3]
				
					function remove(uint index) public {
     //myArray[myArray.length-1]  will return the last element of an array so this complete statement will get the last item in the array and put it in the position that we are removing which is myArray[index].
     myArray[index] = myArray[myArray.length-1] ;  
     
     //then we remove the last element of the array
     myArray.pop(); 
				
			
دوره ها و آموزش های فرازمان

در صورتی‌ که تجربه خاصی در خصوص برنامه‌نویسی ندارید می‌توانید از دوره‌های رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دوره‌های پیشرفته‌تری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.

نقشه راه

راهنما آکادمی فرازمان

برای یادگیری برنامه نویسی بلاکچین…

دوره مفاهیم پایه برنامه نویسی
دوره جامع جاوا اسکریپت و جی کوئری
آموزش برنامه نویسی سالیدیتی
دوره جامع html/css/bootstap
آموزش پیشرفته برنامه نویسی بلاکچین
آموزش Whitepaper نویسی برای پروژه های بلاکچینی

در این باره بیشتر بخوانید

حلقه For در یک قرارداد هوشمند Solidity

تابع بازگشتی (Fallback Function) در قراردادهای هوشمند Solidity

مدیریت خطا در قراردادهای هوشمند Solidity

رویدادها در قراردادهای هوشمند Solidity

گس – gas در سالیدیتی(solidity)

برچسب ها: آرایه در قرارداد هوشمند Solidityarray in a Solidityآموزش برنامه نویسی سالیدیتیآموزش بلاکچینآموزش سالیدیتی
جدیدتر حلقه For در قرارداد هوشمند Solidity
قبلی mapping در قرارداد هوشمند Solidity

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
برچسب‌ها
function nft آموزش برنامه نویسی سالیدیتی آموزش بلاکچین آموزش سالیدیتی اتریوم اخبار بازی اخبار رمز ارز اخبار کریپتو امنیت قرارداد هوشمند ان اف تی اکتیویژن ایلان ماسک بازی بلاکچین برنامه نویسی بلاک چین برنامه نویسی سالیدیتی بلاک چین بیتکوین بیت کوین تحلیل بیت کوین تسلا توابع توابع در سالیدیتی جاوا اسکریپت حسابرسی در قرارداد هوشمند خبر بلاکچین دسنترالند دوج کوین رمزارز سالیدیتی سرمایه گذاری سندباکس قرارداد هوشمند مایکروسافت متاورس مقاله بلاکچین مقاله کریپتویی موزیلا نمونه قرارداد هوشمند سالیدیتی وب3 پی پال کریپتو کسب درامد کیف پول اتریوم کیف پول بلاکچین
  • محبوب
  • جدید
  • دیدگاه ها
دسته‌ها
  • آموزش برنامه نویسی سالیدیتی
  • اتریوم
  • اخبار NFT
  • اخبار متاورس
  • امور مالی غیرمتمرکز
  • برنامه نویسی سالیدیتی
  • بیت کوین
  • سولانا
  • صرافی غیرمتمرکز
  • قرارداد هوشمند
  • کریپتو
  • کیف پول ارز دیجیتال
  • مقالات بلاکچین
  • مقاله
  • نمونه قراردادهای هوشمند سالیدیتی
 فـرا زمان با بهره گیری از دانش روز دنیا و توانایی در آموزش، مشاوره و پیاده سازی انواع پروژه های بلاکچینی پا به عرصه ی رقابت گذاشته و هر روز به گروه و تخصص خود می افزاید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
  • ساری، ابتدای خیابان 15 خرداد،مجتمع بهار،طبقه اول
  • 09395149363
  • info@fara-zaman.ir
خبرنامه

چیزی را از دست ندهید، ثبت نام کنید و در مورد شرکت ما مطلع باشید.

نماد ها

logo-samandehi
© 1400. آکادمی فرازمان - طراحی فرازمان
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://fara-zaman.ir/?p=11675
دسته بندی دوره ها
دوره های من
دسته بندی دوره ها

طراحی وب

  • 1 دوره

WhitePaper

  • 1 محصول

برنامه نویسی اتریوم (سالیدیتی)

  • 4 محصول

کلاس مجازی

  • 1 دوره
دوره های من
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Twitter Youtube Instagram
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

گروه تخصصی برنامه نویسی
  • 09395149363
  • پشتیبانی آنلاین
  • 09395149363