জুলিয়ায় তুলনা অপারেটরসমূহ অনেক অন্য ভাষার মতোই, তবে গণিতপ্রেমীদের জন্য কিছু বাড়তি অপশন আছে।
সমানতা যাচাইয়ের জন্য অপারেটরগুলো হলো == (সমান) এবং != বা ≠ (সমান নয়)।
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 >=)
জুলিয়ার ক্ষেত্রে প্রায়ই যেমন হয়, উপযুক্ত এডিটর গাণিতিক চিহ্ন ব্যবহার করা সহজ করে তোলে।
\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 হয়, সেগুলোই শর্ত হিসেবে ব্যবহার করা যায়।
জুলিয়া ইচ্ছাকৃতভাবে "ট্রুথিনেস"-এর কোনো ধারণা এড়িয়ে চলে, তাই শূন্য মান, খালি স্ট্রিং আর খালি অ্যারে false-এর সমতুল্য নয়।
সহজ ও কমন একটি পরিস্থিতি হলো শর্তের ভিত্তিতে দুটি মানের একটি বেছে নেওয়া।
অনেক ভাষার মতো জুলিয়াতেও একটি টার্নারি অপারেটর আছে, যা এটি আরও সংক্ষিপ্ত করতে দেয়।
সিনট্যাক্সটি হলো conditional ? value_if_true : value_if_false।
তাই পূর্বের উদাহরণটি এভাবে আবার লেখা যেতে পারে:
n = n < 0 ? 0 : n
কম্পাইলার প্রথম বন্ধনী বাধ্যতামূলক করে না, তবে এগুলো পড়ার সুবিধা বাড়াতে পারে।
match স্টেটমেন্ট আছে?বর্তমানে বেস ভাষার অংশ হিসেবে কোনো match/case কাঠামো নেই।
সহজ ক্ষেত্রে if..elseif..else ব্যবহার করার পরামর্শ দেওয়া হয়।
Scala-এর মতো জটিল প্যাটার্ন ম্যাচিংয়ের জন্য Match.jl প্যাকেজটি জনপ্রিয়।
তবে বেশিরভাগ থার্ড-পার্টি প্যাকেজের মতো Match Exercism টেস্ট রানারে পাওয়া যায় না।