Jump to content

and, not, or, Relational Operators


Recommended Posts

السلام عليكم ورحمة الله

اليوم ابي اشرح لكم الـ

and, not, or, Relational Operators

الحين بيجي واحد يسئل ليه تشرح هذا و فيه شروحات كثيره لهذه الاشياء البسيطة؟

بقول ان فيه كثيرين فاكرين هذه الاشياء ما تجي الا مع دالة

if 

مثلاً كذا

if 1 == 2 and 3 == 4 then 

الحين فيه احتمال لو استعملت

and 

خارج if

كذا مثلاً

print(5 and 7 and false or "5") 

يجي واحد يقولك غلط وما ينفع وهي تنتفع بس مانه فاهم كيف تشتغل وان شاء الله من هذا الشرح تفهمون كيف يشتغلون وبوضح كيف يشتغلو مع if

نبدأ علي بركة الله :

اول شيء لازم تعرفه ان كل شيء قيمته true

الا قيمتين بس اللي هما

false, nil 

غير كذا مهما كان نوع المتغير هو true

string = true 
integer = true 
float = true -- etc.. 

طيب الحين كيف نستعمل هذي الطريقة ?

لازم نعرف كيف

and و or

يشتغلو

and 

ترجع لك ثاني قيمة اذا كانت اول قيمة true

ولو مانها true

تجيب لك اول قيمة

مثال

Lua = true and "Lua" 

المتغير Lua

قيمته بتكون lua

لكن مثل ما قلنا كل القيم true

الا قيمتين بس اللي هما

false, nil

يعني لو سوينا كذا

Lua = 5 and "Lua" 

بتصير "Lua"

لان الرقم true

مثل ما قلنا فوق

or 

عكس and

اذا كانت اول قيمة false او nil

ترجع لك ثاني قيمة

واعتقد اننا نشوف عليها تطبيقات كثيرة مثلاً تشوف واحد يسوي كذا

getElementData(localPlayer, "Data") or 5 

الفنكشن

getElementData

يرجع false لو الداتا غير موجود

يعني الحين لو الداتا غير موجودة بيحط 5

بلنسبة ل not

هذا تجيب عكس القيمة المرجعة وما تعكس الشرط ولا شيء

يعني الحين عندنا true

نبي نجيب عكسها

اللي هو false

نسوي كذا

outputChatBox(tostring(not true)) 

هذا بيطلع false

لاننا جبنا العكس ولو حطينا

not false بيجيب الترو

واضحة اعتقد

طيب الحين ندخل علي Relational Operators

ذولا معروفين لكن الاسم بس بيخلبطك

ال Relational Operators

هما الـ معاملات المقارنة اللي هما

==, >=, <=, ~=, >, < 

ذولا دايم يرجعون يا true يا false

ولو جابو غير كذا يبقا فيه حشيش في الموضوع

: 3

طيب كيف true او false?

مثال بسيط يوضح فكرة العمل

boolean = 4 == 4 -- نتحقق اذا 4 تساوي 4 
-- طبعاً بما ان 4 تساوي 4 بيطلع قيمة ترو 
-- اي ان boolean = true 
print(boolean)-- نطلعها ونشوف القيمة 

مثال اخر

bool = "String" == 7 
-- نتحقق من السترينج = سبعة 
-- هذا مو متحقق طبعاً 
-- اي ان bool = false 
print(bool) 

طيب الحين ذولا كيف يشتغلو مع دالة if?

ذولا يالطيب كلها شغل مترتب علي بعضه

يعني يطلع ترو يقوم متحقق من اللي بعدخا ثم اللي بعدها ويستمر هكذا لين يطلع النتيجة بس نفهم الاول

كيف if تشتغل

اول شيء if

لازم اللي بعدها يكون true

مثلاً كذا

if "String" then 
end 

هذا متحقق لان اي شيء قيمته ترو الا قيمتين مثل ما قلنا فوق

او سوينا كذا

if true then 
end 

متحقق برضو وما اعتقد لازم اقول السبب

طيب خلنا نعطيكم مثال علي كله الحين

if 4 == 4 then 
end 

طبعأ المعاملات حقت المقارنة دايم قيمتين يا true يا false

وبما ان 4 == 4

بيصر النص كذا

if true then 
end 

ما فهمت ؟ مثال ثاني

if 5 == 6 then 
end 

بما ان الخمسة ما يساوي الستة

يعني الشرط مو متحقق وبيرجع قيمة false

ويصير النص كذا

if false then 
end 

طيب لو حطينا and or

وكل ذا كيف يرتبطو ببعض؟

كذا

if 5 == 5 and 7 == 7 then 
end 

مثل ما قلنا ال and

ترجع ثاني قيمة لو الاول true

وبما ان الاول و الثانية true

بيصير النص كذا

  
if true and 7 == 7 then 
end 

ولما يصير كذا بيحط ثاني قيمة

اللي هي بتكون true

نظراً لان 7 == 7

بيصير النص كذا النهائي

if true then 
end 

بعض الامثلة علي المتغيرات

 Number5 = true and 5 

 Number6 = false or 6 

 Number11 = true and false or 11 

الاختبارات :

Level 1 -

Number = 7 and 5 

Number = nil or 8 

Number = nil and 9 

Level 2 -

Var = 9 and true and false 

Var = 5 and false or nil or 9 

Level 3 -

Var = 20 and true and false or 9 and "String" and "String2" 

 Var = "String" and 90 * 50 / 7 and true  and false or "String" and "String9" and false or "String 90" 

Scripter Level -

Var = {} and false or {"Table Value", ["Key"] = "Value"} and "string" and 9 and false or nil or 9 and true and nil and {} 

Note : تقدر تستعمل الاقواس مشان توضح الكود

مثال :

Var = (( 5 + 5 ) and "7") and "Test" 

Note : اي اخطاء غير مقصودة لان الموضوع طويل شوي :lol:

بلتوفيق في الاختبار

والسلام خير الختام

Edited by Guest
  • Like 1
  • Thanks 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...