" esac
" case
" কোড-ব্লক " গঠনের জন্য " " পূর্ববর্তী " " কে সমাপ্ত করে ।
অ্যালগল they68 এ এগুলি ব্যবহার করা হয়, সাধারণত পরিচয় কীওয়ার্ডের বিপরীত চরিত্রের ক্রমটি ঘেরটি বন্ধ করার জন্য ব্যবহৃত হয়, যেমন ( if ~ then ~ else ~ fi, case ~ in ~ out ~ esac, for ~ while ~ do ~ od ).
এডজার ডিজকস্ট্রা এবং তার রক্ষিত কমান্ড ল্যাঙ্গুয়েজের পরে আমি তাদের "রক্ষিত ব্লক" বলব ।
od
সম্ভবত ইউনিক্স "ওড" কমান্ডের প্রাক-অস্তিত্বের কারণে বোর্ন শেলটিতে ব্যবহৃত হয়নি ।
ইতিহাস:
"রক্ষিত ব্লক" ধারণাটি ALGOL থেকে এসেছে বলে মনে হয় 68 উদাহরণস্বরূপ ইংরেজি:
proc days in month = (int year, month)int:
case month in
31,
if year mod 4=0 ∧ year mod 100≠0 ∨ year mod 400=0 then 29 else 28 fi,
31, 30, 31, 30, 31, 31, 30, 31, 30, 31
esac;
সোভিয়েতের অ্যালগল LG৮ এলজিইউ বাস্তবায়নও একই কাজ করেছে: ইংরাজীতে আলগোল 68৮ এর শ্রদ্ধেয় কেস স্টেটমেন্টটি পড়ে case ~ in ~ out ~ esac
, সিরিলিকে এটি পড়ে выб ~ в ~ либо ~ быв
।
তারপরে 1975 সালে অ্যালগল 68 এর কোড-ব্লকগুলি এডজার ডিজকস্ট্রা তার রক্ষিত কমান্ড ভাষার জন্য ধার করেছিল । যেমন
if a ≥ b → max := a
| b ≥ a → max := b
fi
সম্ভবত ডিজজ্রা অ্যালগল 60 এ প্রয়োগ করা ড্যাংলিং অন্য অস্পষ্টতাকে কাটিয়ে উঠতে এবং তারপরে সি প্রোগ্রামিং ভাষায় পুনরায় ইঞ্জিনিয়ার করাতে "গার্ডেড ব্লকস" ব্যবহার করেছিল । (সিএফ। শিফ্ট-হ্রাস বিরোধ। )
অবশেষে - অ্যালগল 68 থেকে - " esac
1977 বোয়েন শেল (যেখানে আপনি আবিষ্কার করেছেন esac
) স্টিফেন আর বোর্নের সৌজন্যে পরিণত করেছেন যিনি ALGOL 68C নামে একটি প্রাথমিক আলগোল 68 সংকলক তৈরি করেছিলেন ।
বিখ্যাতভাবে স্টিফেন এই একই রক্ষিত ব্লকগুলিকে ম্যাক্রো.কম নামে একটি "সি হেডার ফাইল" ব্যবহার করেছিলেন
#define IF if(
#define THEN ){
#define ELSE } else {
#define ELIF } else if (
#define FI ;}
উল্লেখযোগ্য সফটওয়্যার প্রতিভা ল্যান্ডন কার্ট নোল এবং ল্যারি বাসেল ১৯৮৪ সালে স্টিভের ম্যাক্রো এইচ কোডে হোঁচট খেয়েছিল যখন সেমিকাল্টাক্টরের জিনিক্স পোর্টিং গ্রুপে কর্মরত ছিল এবং এর প্রয়োগটি বোঝার জন্য সংগ্রাম করেছিল। এবং তাই ল্যান্ডন এবং ল্যারি তারপরে আন্তর্জাতিক অবিচ্ছিন্ন সি কোড প্রতিযোগিতা তৈরি করেছিল ...
১৯৮৪ সাল থেকে আজ অবধি বেশ কয়েক হাজার অন্যান্য "আরও ভাল" প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে যা ডিজকস্ট্রার রক্ষিত কমান্ড ব্যবহার করে না। স্টিভেন বোর্নের এগুলির ব্যবহার macro.h
এখন তথ্যপ্রযুক্তি স্নাতকদের "সফটওয়্যার ডেভলপমেন্ট গবেষণাগুলি" তে প্রায়শই প্রমাণিত হয় যে তারা বক্তৃতায় ঘুমোচ্ছিল না। :-)
esac
ঠিক কোথায় হওয়া উচিত সেই পয়েন্টগুলির জন্য সূচী এন্ট্রি - এটি এমন রেখায় যা এটি সংজ্ঞায়িত করে এবং চিত্রিত করে যে এটি প্রয়োজনীয়।