حلقه های تکرار در سالیدیتی
5 مرداد 1401 1401-05-05 12:52حلقه های تکرار در سالیدیتی
حلقه های تکرار در سالیدیتی
در حین نوشتن یک قرارداد، ممکن است با موقعیتی مواجه شوید که در آن باید یک عمل را بارها و بارها انجام دهید. در چنین شرایطی، برای کاهش تعداد خطوط، باید دستورات حلقه را بنویسید.در کاربردهای ساده، حلقههای for، while و do…while تقریباً میتوانند به جای هم استفاده شوند. همه این حلقهها را میتوان برای حل مسائل یکسانی مورد استفاده قرار داد و این که از کدام یک استفاده میکنید تا حدود زیادی به ترجیح شخصی شما وابسته است و بر اساس اینکه کدام را سادهتر به یاد میسپارید یا شهودیتر میدانید میتوانید انتخاب کنید.حلقه های تکرار در سالیدیتی اجرای چندین باره یک قطعه کد را انجام می دهند.زبان برنامه نویسی سالیدیتی (Solidity) از تمام حلقه های لازم برای کاهش فشار برنامه نویسی پشتیبانی می کند.
جهت دریافت اطلاعات بیشتر قبل از مطالعه مقاله حلقه های تکرار در سالیدیتی توصیه می کنیم مقالات و محتواهای آموزش زبان سالیدیتی را هم که در بخش زیر قرار گرفته مطالعه نمایید.
- هر آنچه که باید در مورد اتریوم بدانید
- چگونه یک برنامه نویس سالیدیتی شویم؟
- مزایای یادگیری برنامه نویسی سالیدیتی
- کسب درآمد دلاری با قرارداد هوشمند
- ماشین مجازی اتریوم چیست؟
- انواع داده ها و متغیرها در زبان برنامه نویسی سالیدیتی
- مکان داده در برنامه نویسی سالیدیتی
- عملگرها در برنامه نویسی سالیدیتی
عملکرد حلقه های تکرار در سالیدیتی
در زبان برنامه نویسی Solidity هنگامی که از دستور حلقه استفاده می کنیم در شروع حلقه،کنترل حلقه برخی از شرایط را تست و بررسی می کند. اگر شرط درست باشد،قطعه کد که بنده حلقه می باشد فعال می شود.اگر شرط در کنترل حلقه نادرست شود، برنامه حلفه را پایان می دهد و به عبارت B ادامه می دهد.حلقه ها زمانی استفاده می شوند که باید یک عمل را بارها و بارها انجام دهیم. در هنگام نوشتن قرارداد ممکن است شرایطی پیش بیاید که مجبور باشیم چند عمل را به طور مکرر انجام دهیم، در این شرایط حلقه هایی برای کاهش تعداد خطوط عبارات اجرا می شود. Solidity از حلقه های زیر پشتیبانی می کند و فشار برنامه ریزی را کاهش می دهد.
حلقه های تکرار While, Do-While, For
در زبان برنامه نویسی سالیدیتی چندین نوع حلقه وجود دارد که ماهیت آنها تقریبا بین تمامی زبان ها مشترک هست.در بخش زیر به معرفی انواع حلقه ها در زبان برنامه نویسی Solidity همراه با مثال و کد و خروجی کد آموزش داده شده است ولی قبل از آن با دو دستور که در زبان سالیدیتی نوشته می شود آشنا خواهیم شد
دستور break:اجرای حلقه بلافاصله تمام می شود و برنامه با پردازش دستورات بعد حلقه ادامه می یابد.
دستور continue:برخی مواقع نیاز داریم از شرایط تست خاصی درون حلقه رد شویم.با اجرای دستور continue مابقی دستورات پردازش نشده داخل حلقه رها می شود و روند اجرا به حالت بررسی مجدد شرط می رود.
حلقه تکرار While در سالیدیتی
ابتدایی ترین حلقه در زبان برنامه نویس سالیدیتی حلقه while است که درادامه مورد بحث قرار خواهد گرفت. هدف حلقه while اجرای مکرر یک دستور یا بلوک کد است تا زمانی که یک عبارت درست باشد.هنگامی که عبارت نادرست شد، حلقه خاتمه می یابد.حلقه while در سالیدیتی ابتدا شرط را بررسی و راستی آزمایی می کند، در صورتی که شرط برقرار باشد وارد بنده حلقه می شود.در بعضی از اوقات ابتدا و انتهای برنامه مشخص نیست و در برنامه نیاز به تکرار داریم که باید از حلقه تکرار دیگر به نام while استفاده کنیم.نمودار جریان حلقه while به صورت زیر است :
سینتکس حلقه تکرار While
while (condition) { statement or block of code to be executed if the condition is True }
مثال: در مثال زیر، قرارداد اجرای حلقه while و نحوه تنظیم اولیه آرایه با استفاده از حلقه while را نشان می دهد.
// Solidity program to
// demonstrate the use
// of 'While loop'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring a dynamic array
uint[] data;
// Declaring state variable
uint8 j = 0;
// Defining a function to
// demonstrate While loop'
function loop(
) public returns(uint[] memory){
while(j < 5) {
j++;
data.push(j);
}
return data;
}
}
تصویر خروجی حلقه while در برنامه نویسی سالیدیتی
حلقه تکرار Do-While در سالیدیتی
این حلقه بسیار شبیه به حلقه while است با این تفاوت که یک بررسی شرط وجود دارد که در انتهای حلقه اتفاق می افتد، یعنی حلقه همیشه حداقل یک بار اجرا می شود حتی اگر شرط نادرست باشد.نمودار جریان حلقه do-while به صورت زیر است :
سینتکس حلقه تکرار Do-While
do { Statement(s) to be executed; } while (expression);
مثال: در مثال زیر، قرارداد اجرای یک حلقه do-while را نشان می دهد و نشان می دهد که چگونه یک آرایه را می توان با استفاده از حلقه do-while مقداردهی اولیه کرد.
// Solidity program to
// demonstrate the use of
// 'Do-While loop'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring a dynamic array
uint[] data;
// Declaring state variable
uint8 j = 0;
// Defining function to demonstrate
// 'Do-While loop'
function loop(
) public returns(uint[] memory){
do{
j++;
data.push(j);
}while(j < 5) ;
return data;
}
}
تصویر خروجی حلقه do-while در برنامه نویسی سالیدیتی
آموزش برنامه نویسی سالیدیتی
حلقه تکرار For در سالیدیتی
حلقه تکرار for فشرده ترین شکل حلقه زدن است.این حلقه شامل سه بخش مهم زیر است:
مقداردهی اولیه حلقه (loop initialization) که در آن شمارنده خود را به مقدار اولیه مقداردهی می کنیم. دستور اولیه قبل از شروع حلقه اجرا می شود.
عبارت تستی (test statement) که درست بودن یا نبودن یک شرط معین را آزمایش می کند. اگر شرط درست باشد، کد داده شده در داخل حلقه اجرا می شود، در غیر این صورت کنترل از حلقه خارج می شود.
عبارت تکرار (iteration statement) که در آن می توانید شمارنده خود را افزایش یا کاهش دهید.
شما می توانید در هنگام کد نویسی هر سه قسمت را در یک خط قرار دهید و با نقطه ویرگول (;) این سه قسمت را از هم جداکنید.نمودار جریان حلقه for به صورت زیر است :
سینتکس حلقه تکرار For
for (initialization; test condition; iteration statement) { statement or block of code to be executed if the condition is True }
مثال: در مثال زیر، قرارداد اجرای یک حلقه for را نشان می دهد و نشان می دهد که چگونه یک آرایه را می توان با استفاده از حلقه for مقداردهی اولیه کرد.
// Solidity program to
// demonstrate the use
// of 'For loop'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Declaring a dynamic array
uint[] data;
// Defining a function
// to demonstrate 'For loop'
function loop(
) public returns(uint[] memory){
for(uint i=0; i<5; i++){
data.push(i);
}
return data;
}
}
تصویر خروجی حلقه For در برنامه نویسی سالیدیتی
نتیجه گیری مقاله حلقه های تکرار در سالیدیتی
Solidity از حلقه های for , while و do while پشتیبانی می کند.در زبان برنامه نویسی سالیدیتی بهتر است حلقه هایی را که نامحدود هستند ننویسید زیرا ممکن است به حد مجاز Gas برسد و باعث شکست تراکنش شما شود.به همین دلیل ، حلقههای while و do while به ندرت استفاده میشوند.
منابع مقاله حلقه های تکرار در سالیدیتی
وب سایت : geeksforgeeks – tutorialspoint