রুবি প্রোগ্রামকে জল्दी কীভাবে বন্ধ করবেন?
সাধারণত একটি প্রোগ্রাম সব ইনস্ট্রাকশন প্রসেস করা পর্যন্ত চলে।
বা যতক্ষণ না এটি একটি অнах্যান্ডলড এক্সেপশন থ্রো করে।
কিন্তু আপনি যদি একটি এমন রুবি প্রোগ্রাম লিখেন যা সব সময় চলতে হয় না, তবে আপনি এক বা অন্য কারণে আপনার প্রোগ্রামকে জল्दी বন্ধ করতে চাইতে পারেন।
আপনি এটি exit মেথড দিয়ে করতে পারেন।
এই exit মেথড কীভাবে কাজ করে?
চলুন সেটি নিয়ে কথা বলি!
প্রোগ্রাম বন্ধ করার বিভিন্ন পদ্ধতি
যখন আপনি exit কল করেন, আপনার প্রোগ্রাম তৎক্ষণাৎ বন্ধ হয় না।
এখানে কী হয়:
রুবি একটি SystemExit এক্সেপশন থ্রো করে যা আপনার প্রোগ্রামের অন্যান্য অংশগুলকে ক্লিন আপ করার সুযোগ দেয়।
এই কোড রান করুন ডেমো देखने:
begin exit rescue SystemExit p 123 end
এটি বের হয়ার আগে 123 প্রিন্ট করবে।
আপনি যদি আপনার প্রোগ্রামকে এই ক্লিন-আপ প্রসেস বাইপাস করতে চান, তবে exit! ব্যবহার করতে পারেন।
এখানে একটি উদাহরণ:
begin exit! rescue SystemExit p 123 end
লক্ষ্য করুন এটি প্রোগ্রাম শেষ হওয়ার আগে 123 প্রিন্ট করবে না।
আপনি আরেকটি মেথডও ব্যবহার করতে পারেন।
সেটি হলো abort।
এই মেথড দিয়ে আপনি একটি এরর মেসেজ দিতে পারেন।
এভাবে:
abort "No Bacon Left"
যা একই:
warn "No Bacon Left!" exit 1
warn মেথড স্ট্যান্ডার্ড এররে একটি এরর মেসেজ প্রিন্ট করে।
কিন্তু এই exit-র জন্য 1 আর্গুমেন্টটি কী?
সেটিই আলোচনার পরবর্তী বিষয়!
স্ট্যাটাস কোড বুঝতে
যখন একটি প্রোগ্রাম শেষ হয়, শুধু রুবি প্রোগ্রাম নয়, যেকোনো প্রোগ্রাম, এটি পিছনে একটি স্ট্যাটাস কোড রেখে যায়।
এখানে যা জানা দরকার:
0স্ট্যাটাস কোড মানে প্রোগ্রাম স্বাভাবিকভাবে শেষ হয়েছে- অন্যান্য স্ট্যাটাস কোড (
0ছাড়া) এরর কন্ডিশন সিগন্যাল করতে ব্যবহৃত হয় - নন-জিরো স্ট্যাটাস কোড রিটার্ন করার প্রভাব আপনার বর্তমান এনভায়রনমেন্টের ওপর নির্ভর করে
এটি উপকারী কারণ অপারেটিং সিস্টেম, বা সাধারণ প্রোগ্রামগুলো, এই স্ট্যাটাস কোড ব্যবহার করতে পারে মনিটরিং, লগিং এবং এমনকি ফেলড প্রোগ্রাম অটোমেটিক্যালি রিস্টার্ট করার জন্য।
লিনাক্সে আপনি echo $? ব্যবহার করে লাস্ট প্রোগ্রামের এক্সিট স্ট্যাটাস কোড জানতে পারেন।
আবার রুবিয়ে ফিরি:
যখন আপনি exit কল করেন, স্ট্যাটাস কোড ডিফল্টলি 0।
আপনি আর্গুমেন্ট হিসেবে অন্য একটি স্ট্যাটাস কোড পাস করতে পারেন।
সেই কারণে abort কল করলে স্ট্যাটাস কোড সেট হয় 1, abort মেথডটি এরর সিগন্যাল করতে ব্যবহৃত হয়।
একটি লুপ বন্ধ করা
আপনি যদি পুরো প্রোগ্রাম না বন্ধ করে শুধু একটি লুপ বন্ধ করতে চান, তবে আপনাকে কিছু আলাদা ব্যবহার করতে হবে।
আপনি break কীওয়ার্ড ব্যবহার করতে পারেন:
while 1 == 1 break end
এটি ব্লকের ভিতরেও কাজ করে, শুধু while লুপে নয়।
একটি মেথড থেকে বের হওয়া
রুবি মেথডগুলো তাদের লাস্ট লাইন ऑफ কোড-এ স্বাভাবিকভাবে শেষ হয়।
আপনি যদি আগে বের হতে চান...
return কীওয়ার্ড ব্যবহার করুন।
উদাহরণ:
def apples return "I had my two apples today" "bacon" end
এই কোড কখনো "bacon"-এ পৌঁছায় না অর্লি return-এর কারণে।
বোনাস: একটি ইনফাইনাইট লুপ বন্ধ করা
এটি হয়ে যায়।
কখনো কখনো আপনি কাউন্টার বাড়ানো ভুলে যান এবং একটি ইনফাইনাইট লুপ তৈরি হয়।
আপনার প্রোগ্রাম বন্ধ করতে আপনি একটি কী কম্বিনেশন চাপতে পারেন:
CTRL+C
সারসংক্ষেপ
আপনি রুবিতে exit মেথড, abort মেথড, এক্সিট স্ট্যাটাস কোড, এবং লুপ থেকে ব্রেক আউট করার পদ্ধতি সম্পর্কে শিখেছেন।
এই আর্টিকেলটি শেয়ার করতে ভুলবেন না যাতে আরও মানুষ উপভোগ করতে পারে।
পড়ার জন্য ধন্যবাদ! 🙂