برنامه نویسی

عملگرها (Operators) در erlang

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره غیر فعالستاره غیر فعال
 

به نام خدا ، سلام برای تاخیری که پیش اومد منو ببخشید ولی جبران میکنم !
توی این جلسه میخوایم یک عالمه چیز دیگه از ارلنگ یاد بگیریم .

توی جلسه قبل درباره انواع داده حرف زدیم حالا میخوایم یاد بگیریم چطور مقدار رو به یک متغیر بدیم ؟

برای نسبت دادن یک مقدار به یک مغیر باید به شکل زیر عمل کنید :

Var-name = var-value

همین طور که متوجه شدید نام متغیر باید با حروف بزرگ شروع بشه و از کارکتر هایی مثل * و این ها هم نباید داخلش و یا اولش باشه (مثل بقیه زبون ها دیگه).

 

P1

 

قوانین دیگه ای هم هست که هر زمان دیدید که کامپایلر داره از متغیر ها تون خطا میگیره یکم فکر کنید خودتون میفهمید ( تجربه بهتر از دانش است:)

خوب حالا میریم سراغ عملگرا ها (Operators) توی ارلنگ هم مثل بقیه زبون ها ما انواعی از عملگر ها رو داریم که شامل

 

فارسی هاشون انگلیسی ها شون
عملگرهای محاسباتی Arithmetic operators
عملگرهای رابطه ای Relational operators
عملگرهای منطقی Logical operators
عملگر های بیتی Bitwise operators

عملگرهای محاسباتی : از اسمشون معلومه دیگه کارای محاسباتی انجام میدم مثل جمع ، ضرب ، تفریق ، تقسیم و ......(باز هم مثل دیگر زبون های برنامه نویسی ولی یک جا هاییش تقاوت داره)

عملگر توضیح مثال
+ دو تا مقدار رو با هم جمع میکنه  3 = 2 + 1
* دو تا مقدار رو در هم ضرب میکنه 6 = 3 * 2
- دو تا مقدار رو از هم کم میکنه 1 = 2 - 1
/ تقسیم دقیق انجام میده 3.33333333 = 3 / 10
div تقسیم صحیح انجام میده 3 = 3 / 10
rem باقی مانده تقسیم رو حساب میکنه 10 rem 3 = 1

اینم کدی برای مثال :

P2

عملگرهای رابطه ای : برای مقایسه به کار میرن و کلا یا میگن درسته (true) ویا اشتباه (false) که اینا شامل اینا میشه :

عملگر توضیح مثال
== برسی می کنه که مقدار های سمت چپ و راست باهم برای بر اند یا نه این عملگر به صورت =:= که کاملا با این متفادت هست و زمانش که رسید توصیح میدم a == a out > true
=/ برسی میکنه که دو مقدار سمت چپ و راست با هم برا بر اند یا نه  a == a out > false
< کار بزگتر و کوچیکتر توی ریاضی به مثال ها توجه کنید
> کار بزگتر و کوچیکتر توی ریاضی به مثال ها توجه کنید
>= کار بزگتر مساوی و  کوچیکتر مساوی توی ریاضی به مثال ها توجه کنید
=< کار بزگتر مساوی و  کوچیکتر مساوی توی ریاضی به مثال ها توجه کنید

اینم مثال هاش ( قالب ویرایشگرم رو عوض کردم :) :

P3

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

عملگر توضیح مثال
and در صورت وجود یک false در هر طرف مقدار false رو برمیگردونه true and false will give false
or در صورت وجود یک true در هر سمت مقدار true رو بر میگردون و زمانی false برمیگردونه که هر دو سمت false باشه true or false will give true
not با همه لج هست و همه جیز رو برعکس میکنه :)
هر مقدار منطقی ای بهش بدید مخالف اش رو برمیگردونه
not true will gave false
xor دو مقدار منطقی ای که در دو طرف xor قرار دارن باید مخالف هم باشن با true برگردونه true xor true will gave false

*ببخسید که مثال هارو انگلیسی نوشتم هر کاری کردم نشد از کارکتر ها استفاده کنم و شکل متن خراب نشه .

مثال هاش :

P4

عملگر های بیتی : توضیح اش خیلیه از این  لینک خودتون بخونید

می یک راست میرم سراغ مثال هاش :

P5



خوب حالا ممکنه نوی یک عبارت از جند تا از این عملگر ها استفاده کنید ، erlang این جا چه کار میکنه ؟
erlang هم مثل بقیه زبون ها برای عملگر هاش اولویت بندی داره که توی این جدول از بالا به پایین الویت هاشون کم میشه .

 

:
#
bnot,not
/,*,div,rem,band,and
+,-,bor,bxor,or,xor
==,/=,=<,<,>=,>

چند نکته مهم :

1. اون هایی که توی یک گروه اند هرچی توی عبارت ما سمت چپ تر باشن الویت بیشتری دارن مثلا توی عبارت 2+3-4 منفی الویت بیشتری نسبت به مثبت داره.

2.هر عبارتی که توی پرانتز باشه از همه الویت اش بیشتری حالا اگه چند تا پرانتز باشه هرکدوم که سمت چپ تره الویت بالا تری داره (مثل مثال بالا) .

 این هم کد های این آموزش

امید وارم تونسته باشم چیز مفیدی آموزش داده باشم برای درنگ زیاد بین مطالب منو ببخشید.

خدانگهدار.

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد