وبلاگ

عملگرها در برنامه نویسی سالیدیتی

عمل گرها در سالیدیتی
سالیدیتی مقالات آموزشی

عملگرها در برنامه نویسی سالیدیتی

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

  1. هر آنچه که باید در مورد اتریوم بدانید
  2. قرارداد هوشمند یا اسمارت کانترکت (Smart Contract) چیست؟
  3. انواع داده ها و متغیرها در زبان برنامه نویسی سالیدیتی
  4. مکان داده در برنامه نویسی سالیدیتی

آموزش سالیدیتی برنامه نویسی قرارداد هوشمند Smart contracts

عملگرها در برنامه نویسی سالیدیتی

سالیدیتی یک زبان برنامه نویسی شی گرا و سطح بالا برای ایجاد قراردادهای هوشمند (smart contracts) در بلاک چین است که تراکنش ها را خودکار می کند. این زبان در سال 2014 توسط افرادی که در پروژه اتریوم شرکت کرده بودند ایجاد شد. این زبان بیشتر برای بستن قراردادهای هوشمند در بلاک چین اتریوم استفاده می شود.

زبان برنامه نویسی سالیدیتی یک زبان curly-bracket است. این زبان از C++، Python و جاوا اسکریپت تاثیر گرفته است و برای هدف قرار دادن ماشین مجازی اتریوم (EVM) طراحی شده است.

عملگرها در برنامه نویسی سالیدیتی
انواع عملگرها در برنامه نویسی سالیدیتی

سالیدیتی نیز به عنوان یکی از گویش های جاوا اسکریپت در نظر گرفته می شود. این یعنی اگر بر جاوا اسکریپت مسلط هستید، یادگیری سالیدیتی نباید برای شما کار سختی باشد سالیدیتی از انواع عملگرهای زیر پشتیبانی می کند:

  • عملگرهای حسابی
  • عملگرهای رابطه ای
  • عملگرهای منطقی
  • عملگرهای بیتی
  • عملگرهای مقداردهی
  • عملگرهای شرطی

عملگرهای حسابی در زبان سالیدیتی

از این عملگرها برای انجام عملیات ریاضی استفاده می شود.عملگرهای حسابی در سالدیتی خیلی سرراست هستند.همچنین سالیدیتی به شما امکان استفاده از عملگر حسابی توان را هم می‌دهد. به کد زیر توجه کنید:

uint x = 10 **  3; // equal to 10^3 = 1000
عملگر نماد توضیحات
جمع + برای جمع کردن دو عبارت استفاده می شود.
تفریق برای کم کردن دو عبارت از هم استفاده می شود.
ضرب * برای ضرب کردن دو عبارت در هم استفاده می شود.
تقسیم / برای تقسیم کردن دو عبارت استفاده می شود.
باقی مانده تقسیم(Modulus) % باقیمانده را پس از تقسیم اعداد صحیح می دهد
افزایش(Increment) ++ مقدار عدد صحیح را یک عدد افزایش می دهد
کاهش(Decrement) مقدار عدد صحیح را یک عدد کاهش می دهد

مثال: در کد های زیر، انواع مختلف عملگرهای حسابی ذکر شده در بالا را نشان می دهد.

/ Solidity contract to demonstrate
// Arithmetic Operator
pragma solidity ^0.5.0;

// Creating a contract
contract SolidityTest {

	// Initializing variables
	uint16 public a = 20;
	uint16 public b = 10;

	// Initializing a variable
	// with sum
	uint public sum = a + b;

	// Initializing a variable
	// with the difference
	uint public diff = a - b;

	// Initializing a variable
	// with product
	uint public mul = a * b;

	// Initializing a variable
	// with quotient
	uint public div = a / b;

	// Initializing a variable
	// with modulus
	uint public mod = a % b;

	// Initializing a variable
	// decrement value
	uint public dec = --b;

	// Initializing a variable
	// with increment value
	uint public inc = ++a;
	
}
تصویر خروجی کدهای بالا:
عملگرهای حسابی در سالیدیتی
خروجی کد های عملگرهای حسابی سالیدیتی

نمونه کد عملگرهای حسابی در زبان سالیدیتی

عملگرهای رابطه ای در برنامه نویسی سالیدیتی

این عملگرها برای مقایسه دو مقدار استفاده می شوند.یده و مفهوم اصلی در مورد عملگرهای رابطه‌ای وابسته به مفهوم مقدار true و false است.عباراتی که عملگرهای رابطه‌ای یا منطقی را به کار می‌برند برای حالت نادرست یا false مقدار صفر و برای حالت درست یا true مقدار یک برمی‌گردانند.

مشاهده  آموزش نصب و کار با Go Ethereum) GETH)
عملگر نماد توضیحات
مساوی == بررسی می کند که آیا دو مقدار برابر هستند یا نه، اگر برابر باشند true را برمی گرداند و بالعکس
نامساوی =! بررسی می کند که آیا دو مقدار برابر هستند یا نه، اگر برابر نباشند true را برمی گرداند و برعکس
بزرگتر < بررسی می کند که آیا مقدار سمت چپ بزرگتر از راست است یا نه، اگر بزرگتر باشد true را برمی گرداند و بالعکس
کوچکتر > بررسی می کند که آیا مقدار سمت چپ کمتر از مقدار سمت راست است یا نه، اگر کمتر باشد true را برمی گرداند و بالعکس
بزرگتر مساوی =< بررسی می کند که آیا مقدار چپ بزرگتر و مساوی مقدار سمت راست است یا نه، اگر بزرگتر و مساوی باشد، true را برمی گرداند، و بالعکس
کوچکتر مساوی => بررسی می‌کند که آیا مقدار چپ کمتر از مقدار سمت راست است یا نه، اگر کمتر و برابر باشد true را برمی‌گرداند و برعکس

مثال: در کدهای زیر، انواع مختلف عملگرهای رابطه ای ذکر شده در بالا را نشان می دهد.

// Solidity program to demonstrate
// Relational Operator
pragma solidity ^0.5.0;

// Creating a contract
contract SolidityTest {

	// Declaring variables
	uint16 public a = 20;
	uint16 public b = 10;

	// Initializing a variable
	// with bool equal result
	bool public eq = a == b;

	// Initializing a variable
	// with bool not equal result
	bool public noteq = a != b;
	
	// Initializing a variable
	// with bool greater than result
	bool public gtr = a > b;

	// Initializing a variable
	// with bool less than result
	bool public les = a < b;
 // Initializing a variable
 // with bool greater than equal to result
     bool public gtreq = a >= b;

	// Initializing a variable
	// bool less than equal to result
	bool public leseq = a <= b;
	
}
تصویر خروجی کدهای بالا:
عملگرهای رابطه ای در برنامه نویسی سالیدیتی
خروجی کد عملگرهای رابطه ای در برنامه نویسی سالیدیتی

نمونه کد عملگرهای رابطه ای در زبان سالیدیتی

عملگرهای منطقی برنامه نویسی سالیدیتی

این عملگرها برای ترکیب دو یا چند شرط استفاده می شوند.عملگرهای منطقی در سالیدیتی با نمادهای مشابه زبان‌های برنامه‌نویسی دیگر کار می‌کنند. عملگرهای منطقی شامل این موارد می‌شوند: ! (نفی منطقی)، && (و منطقی)، || (یا منطقی)، == (تساوی، برابری)، و =! (نابرابری).

عملگر نماد توضیحات
و(Logical AND) && اگر هر دو شرط درست باشد true و اگر یک یا هر دو شرط نادرست باشند، false را برمی‌گرداند
یا(Logical OR) || اگر یک یا هر دو شرط درست باشد true و وقتی هر دو نادرست باشند، false را برمی‌گرداند
Logical NOT ! اگر شرط برآورده نشده باشد true و در غیر این صورت false را  برمی گرداند
مشاهده  مدیریت خطا در سالیدیتی

مثال: در کدهای زیر، انواع مختلف عملگرهای منطقی ذکر شده در بالا را نشان می دهد.

// Solidity program to demonstrate
// Logical Operators
pragma solidity ^0.5.0;

// Creating a contract
contract logicalOperator{

	// Defining function to demonstrate
	// Logical operator
	function Logic(
	bool a, bool b) public view returns(
	bool, bool, bool){
		
	// Logical AND operator
	bool and = a&&b;
		
	// Logical OR operator
	bool or = a||b;
		
	// Logical NOT operator
	bool not = !a;
	return (and, or, not);
}
}
تصویر خروجی کدهای بالا:
عملگرهای منطقی در برنامه نویسی سالیدیتی
خروجی کد عملگرهای منطقی در برنامه نویسی سالیدیتی

نمونه کد عملگرهای منطقی در زبان سالیدیتی

عملگرهای بیتی برنامه نویسی Solidity

عملگرهای بیتی بر روی یک متغییر یک عمل بیتی را انجام می دهد و بیت ها را پس عمل بر روی آن بر می گرداند.اگر هم که متغییر ها رشته ای باشند بر روی کد های اسکی(ASCII) آنها اعمال می شود.

این عملگرها در سطح بیتی کار می کنند که برای انجام عملیات سطح بیت استفاده می شود. Solidity از عملگرهای حسابی زیر پشتیبانی می کند:

عملگر نماد توضیحات
Bitwise AND & یک عملیات Boolean AND روی هر بیت از آرگومان های عدد صحیح خود انجام می دهد.

مثال: (A & B) 2 است.

BitWise OR | روی هر بیت از آرگومان های عدد صحیح خود یک عملیات OR Boolean انجام می دهد.

مثال: (A | B) 3 است.

Bitwise XOR ^ یک عملیات OR Boolean انحصاری را روی هر بیت از آرگومان های عدد صحیح خود انجام می دهد. OR انحصاری یعنی که یا عملوند یک درست است یا عملوند دو درست است، اما نه هر دو.

مثال: (A ^ B) 1 است.

Bitwise Not ~ این یک عملگر واحد است و با معکوس کردن تمام بیت های عملوند عمل می کند.

مثال: (~B) 4- است.

Left Shift >> تمام بیت های عملوند اول خود را با تعداد مکان های مشخص شده در عملوند دوم به چپ منتقل می کند. بیت های جدید با صفر پر می شوند. جابجایی یک مقدار در یک موقعیت معادل ضرب آن در 2، جابجایی دو موقعیت معادل ضرب در 4 است.

مثال: (A << 1) برابر 4 است.

Right Shift << عملگر باینری شیفت راست. مقدار عملوند سمت چپ با تعداد بیت های مشخص شده توسط عملوند سمت راست به سمت راست منتقل می شود.

مثال: در کدهای زیر، انواع مختلف عملگرهای بیتی ذکر شده در بالا را نشان می دهد.

// Solidity program to demonstrate
// Bitwise Operator
pragma solidity ^0.5.0;

// Creating a contract
contract SolidityTest {

	// Declaring variables
	uint16 public a = 20;
	uint16 public b = 10;

	// Initializing a variable
	// to '&' value
	uint16 public and = a & b;

	// Initializing a variable
	// to '|' value
	uint16 public or = a | b;

	// Initializing a variable
	// to '^' value
	uint16 public xor = a ^ b;

	// Initializing a variable
	// to '<<' value
	uint16 public leftshift = a << b; //
        Initializing a variable // to '>>' value
	uint16 public rightshift = a >> b;

	// Initializing a variable
	// to '~' value
	uint16 public not = ~a ;
	
}
تصویر خروجی کدهای بالا:
خروجی کد عملگرهای بیتی
خروجی کد عملگرهای بیتی در برنامه نویسی سالیدیتی

نمونه کد عملگرهای بیتی در زبان سالیدیتی

عملگرهای مقداردهی در سالیدیتی

این عملگرها برای تخصیص مقدار به یک متغیر(var) هستند. عملوند سمت چپ متغیر است در حالی که عملوند سمت راست مقدار است. سالیدیتی از عملگرهای زیر پشتیبانی می کند:

عملگر نماد توضیحات
Simple Assignment = مقدار سمت راست را به عملوند سمت چپ اختصاص می دهد
Add Assignment =+ عملوند سمت راست را به عملوند سمت چپ اضافه می کند و مقدار را به عملوند چپ اختصاص می دهد.
Subtract Assignment =- عملوند سمت راست را از عملوند سمت چپ کم می کند و مقدار را به عملوند چپ اختصاص می دهد.
Multiply Assignment =* هر دو عملوند را ضرب می کند و مقدار را به عملوند چپ اختصاص می دهد
Divide Assignment =/ عملوند سمت چپ را به عملوند سمت راست تقسیم می کند و مقدار را به عملوند چپ اختصاص می دهد.
Modulus Assignment =% عملوند سمت چپ را به عملوند سمت راست تقسیم می کند و باقیمانده را به عملوند چپ اختصاص می دهد.

مثال: در کدهای زیر، انواع مختلف عملگرهای مقداردهی ذکر شده در بالا را نشان می دهد.

// Solidity program to demonstrate
// Assignment Operator
pragma solidity ^0.5.0;

// Creating a contract
contract SolidityTest {

		// Declaring variables
		uint16 public assignment = 20;
		uint public assignment_add = 50;
		uint public assign_sub = 50;
		uint public assign_mul = 10;
		uint public assign_div = 50;
		uint public assign_mod = 32;
	
		// Defining function to
		// demonstrate Assignment Operator
		function getResult() public{
		assignment_add += 10;
		assign_sub -= 20;
		assign_mul *= 10;
		assign_div /= 10;
		assign_mod %= 20;
		return ;
		}
}
تصویر خروجی کدهای بالا:
خروجی کد عملگرهای مقدار دهی
خروجی کد عملگرهای مقدار دهی در برنامه نویسی سالیدیتی

نمونه کد عملگرهای مقداردهی در زبان سالیدیتی

عملگرهای شرطی در Solidity

عملگر شرطی ابتدا یک عبارت را برای مقدار درست یا نادرست ارزیابی می کند و سپس یکی از دو عبارت داده شده را بسته به نتیجه ارزیابی اجرا می کنند.

if condition true ? then A: else B
عملگر توضیحات
: ?  (Conditional) اگر شرط درست است ؟ سپس مقدار X : در غیر این صورت مقدار Y

مثال: در کدهای زیر، انواع مختلف عملگرهای شرطی ذکر شده در بالا را نشان می دهد.

// Solidity program to demonstrate
// Conditional Operator
pragma solidity ^0.5.0;

// Creating a contract
contract SolidityTest{

	// Defining function to demonstrate
	// conditional operator
	function sub(
	uint a, uint b) public view returns(
	uint){
	uint result = (a > b? a-b : b-a);
	return result;
}
}
تصویر خروجی کدهای بالا:
خروجی کد عملگرهای شرطی
خروجی کد عملگرهای شرطی در برنامه نویسی سالیدیتی

نمونه کد عملگرهای شرطی در زبان سالیدیتی

جمع بندی عملگرها در برنامه نویسی سالیدیتی

مقاله ای که خواندید یک راهنمای جامع درمورد عملگرهای زبان برنامه نویسی سالیدیتی بود. امیدوارم این مقاله برای شما مفید بوده باشد. در صورتی نیاز به راهنمایی بیشتری داشتید، لطفا سوال خود را در بخش نظرات ثبت کنید.

عمل گرها در سالیدیتی
عملگرها در برنامه نویسی سالیدیتی

در صورتی که توضیحاتی که در مقاله عملگرها داده شد و هم چنین تکه کدهایی که در این مقاله آورده شد برای شما نامفهوم می باشد می توانید با شرکت در دوره آموزشی سالیدیتی تمامی مفاهیم مربوط به به برنامه نویسی سالیدیتی و نحوه ی نوشتن قرارداد های هوشمند را یادبگیرید.

منابع آموزشی: وب سایت geeksforgeeksmedium.comtutorialspoint

مشاهده  مزایای یادگیری برنامه نویسی سالیدیتی

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

محبوب ترین دوره ها

برچسب های محبوب

Mapping Solidity Inheritance آموزش برنامه نویسی سالیدیتی آموزش سالیدیتی آموزش قرارداد هوشمند اجزای قرارداد هوشمند ارز دیجیتال اتریوم ارز دیجیتال یونی ارزهای متاورسی الگوریتم اثبات کار الگوریتم اجماع امنیت کیف پول اهمیت قرارداد هوشمند اپلیکیشن متمرکز برنامه نویس سالیدیتی برنامه نویسی اتریوم برنامه نویسی بلاکچین برنامه نویسی ریمیکس برنامه نویسی سالیدیتی برنامه نویسی شی‌ گرا برنامه نویسی قرارداد هوشمند بلاکچین بلاک چین اتریوم بهترین ارزهای دیجیتال ترون چیست توسعه دهنده سالیدیتی صرافی های ارزدیجیتال صرافی‌ غیرمتمرکز قرارداد هوشمند قیمت پولکادات متاورس مزایای قرارداد هوشمند نوشتن سیستم رای گیری با سالیدیتی نوشتن قرارداد هوشمند واقعیت مجازی متاورس ویژگی‌های اتریوم پلتفرم های ارزدیجیتال پیش نیاز قرارداد هوشمند کاربرد قرارداد هوشمند کد نویسی سالیدیتی کسب درآمد با قرارداد هوشمند کسب درآمد در متاورس کیف پول ارزدیجیتال کیف پول الکترونیکی کیف پول نرم‌افزاری