عوامل المقارنة في Julia تشبه تلك الموجودة في لغات أخرى كثيرة، وإن كانت تتضمن بعض الخيارات الإضافية لعشّاق الرياضيات.
أما للمساواة، فالعاملان هما == (يساوي) و != أو ≠ (لا يساوي).
txt = "abc"
txt == "abc" # true
txt != "abc" # false
txt ≠ "abc" # false (synonym for !=)
إضافة إلى ذلك، لدينا مختلف عوامل الأكبر/الأصغر.
1 < 3 # true
3 > 3 # false
3 <= 3 # true
3 ≤ 3 # true (synonym for <=)
4 >= 3 # true
4 ≥ 3 # true (synonym for >=)
وكما هي الحال غالبًا مع Julia، يسهّل المحرر المناسب استخدام الرموز الرياضية. اكتب \ne أو \le أو \ge ثم TAB للحصول على ≠ أو ≤ أو ≥.
لا يستخدم المثال السابق سوى الأعداد، لكننا سنرى في أجزاء أخرى من المنهج أن أنواعًا إضافية متنوعة لها ترتيب خاص بها ويمكن اختبارها بعوامل الأكبر/الأصغر.
يمكن ربط عوامل المقارنة بعضها ببعض، ما يتيح صياغة واضحة وموجزة:
n = 3
1 ≤ n ≤ 5 # true (n "between" two limits)
المثال السابق مكافئ لـ 1 ≤ n && n ≤ 5.
if
هذه هي الصيغة الكاملة لـجملة if الشرطية:
if conditional1
statements...
elseif conditional2
statements...
else
statements...
end
لا حاجة إلى الأقواس الهلالية () أو الأقواس المعقوفة {}، والمسافات البادئة "مجرد" وسيلة لتحسين قابلية القراءة (لكن قابلية القراءة مهمة جدًا!).
كل من elseif و else اختياري، ويمكن أن توجد عدة كتل من elseif. ومع ذلك، لا بد من end.
يمكن تداخل جمل if، وقد ترغب في تحسين قابلية القراءة بالاستخدام المدروس للأقواس الهلالية والمسافات البادئة والتعليقات.
أقصر صيغة لجملة if الشرطية ستكون شيئًا كهذا:
if n < 0
n = 0
end
وكتذكير: لا يمكن استخدام كشروط إلا التعبيرات التي تُقيَّم إلى true أو false. تتجنّب Julia عمدًا أي مفهوم للـ"صدقية"، لذا فالقيم الصفرية والسلاسل النصية الفارغة والمصفوفات الفارغة ليست مكافئة لـ false.
من الحالات البسيطة والشائعة اختيار إحدى قيمتين بناءً على شرط.
تمتلك Julia، مثل لغات كثيرة، عاملًا ثلاثيًا يجعل هذا أكثر إيجازًا.
الصياغة هي conditional ? value_if_true : value_if_false.
لذا يمكن إعادة كتابة المثال السابق على النحو التالي:
n = n < 0 ? 0 : n
لا يطلب المصرّف الأقواس الهلالية، لكنها قد تحسّن قابلية القراءة.
match؟لا توجد حاليًا بنية match/case في اللغة الأساسية.
في الحالات البسيطة، يُوصى باستخدام if..elseif..else.
ولمطابقة الأنماط المتقدمة، على غرار Scala، تحظى حزمة Match.jl بشعبية. لكن، كما هي الحال مع معظم الحزم الخارجية، لا يتوفر Match في مشغّل اختبارات Exercism.