ট্র্যাক
/
Julia
Julia
/
সিলেবাস
/
কন্ডিশনাল
কন

কন্ডিশনাল মধ্যে Julia

7টি অনুশীলনী

কন্ডিশনাল সম্পর্কে

তুলনা অপারেটরসমূহ

জুলিয়ায় তুলনা অপারেটরসমূহ অনেক অন্য ভাষার মতোই, তবে গণিতপ্রেমীদের জন্য কিছু বাড়তি অপশন আছে।

সমানতা যাচাইয়ের জন্য অপারেটরগুলো হলো == (সমান) এবং != বা ≠ (সমান নয়)।

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 টেস্ট রানারে পাওয়া যায় না।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

কন্ডিশনাল শিখুন

অনুশীলন লক করা আছে

কন্ডিশনাল অনুশীলন করতে আরও 5টি অনুশীলনী আনলক করুন