في لغة البرمجة Julia، هناك اختلاف بين عاملي المقارنة ==
و ===
. دعنا نلقي نظرة عميقة على كل منهما:
-
عامل المساواة
==
: يُستخدم للتحقق مما إذا كانت قيمتين متطابقتين من حيث القيمة فقط. على سبيل المثال،1 == 1.0
سيُرجعtrue
لأن كلا العددين يُمثِّلان القيمة1
، حتى على الرغم من أن نوعيهما مختلفين (الأولInt
والثانيFloat64
).مقالات ذات صلة -
عامل المساواة الصارمة
===
: يُستخدم للتحقق من تطابق النوع أيضًا بالإضافة إلى قيمة المتغيرات. بمعنى آخر، يتحقق===
من أن القيمتين متساويتين وأنهما من نفس النوع. لذلك، باستخدام المثال السابق،1 === 1.0
سيُرجعfalse
لأن الأول من النوعInt
بينما الثاني من النوعFloat64
.
باختصار، يمثل ==
المساواة بين القيم، بينما ===
يحقق عنصري المقارنة بالقيمة والنوع.
المزيد من المعلومات
بالتأكيد، إليك المزيد من المعلومات حول عاملي المقارنة ==
و ===
في لغة Julia:
-
عند استخدام
==
، يتم تحويل القيمتين إلى نوع مشترك إذا كانتا من أنواع مختلفة قبل المقارنة. على سبيل المثال،1 == 1.0
يتم تحويل القيمة1
إلى1.0
ومن ثم المقارنة بينهما. -
استخدام
===
يعتبر أكثر دقة لأنه يفحص النوع أيضًا، ولا يقوم بتحويل الأنواع قبل المقارنة. وبالتالي،1 === 1.0
سيكون ناتجهfalse
لأنهما من أنواع مختلفة. -
عند استخدام
===
للمقارنة بين متغير وقيمة معينة، يتم فحص نوع المتغير أيضًا. على سبيل المثال، افترض أن لدينا المتغيرx
الذي يحمل القيمة1
، فإنx === 1
سيُرجِعtrue
لأن نوعx
هوInt
وقيمته تساوي1
. -
يمكن استخدام
===
لمقارنة النصوص (String
) والمصفوفات (Array
)، حيث يتم التحقق من هوية الكائنات (identity) وليس قيمها فقط.