একটি পিগ , সিকপিগ , ডেডপিগ , কুইনপিগ , বা ডিফপিগ প্রোগ্রামের একটি ইনপুট দেওয়া , যেকোন "ভাষা" র্যান্ডমভাবে বেছে নিন এবং ইনপুটটিকে "ভাষা" হিসাবে ব্যাখ্যা করুন।
প্রথমে, "পিগ সিরিজ" এর পাঁচ সদস্যের মধ্যে যেকোন একটিতে এলোমেলোভাবে চয়ন করুন:
শূকর
পছন্দটি যদি পিগ হয় তবে নিম্নলিখিতটি করে রেফারেন্স ইন্টারপ্রেটারকে নকল করুন :
ইনপুটটিতে শব্দের প্রথম উপস্থিতিটি সন্ধান
PIG
করুন (কেস-সংবেদনশীল)।শব্দটি যদি
PIG
ইনপুটটিতে না উপস্থিত হয় তবে বার্তাটি আউটপুট করুনFile must contain the string 'PIG'.
এবং প্রস্থান করুন।অন্যথায়, ইনপুট স্ট্রিংটির প্রথম উপস্থিতিতে ভাগ করুন
PIG
। পাঠ্যটিরPIG
আগে কোনও ফাইলের নামের সাথে কোনও ফাইলের প্রথম উপস্থিতির পরে পাঠ্যটিকে আউটপুট দিনPIG
।PIG
আউটপুট হতে পাঠ্যে অন্তর্ভুক্ত থাকতে পারে (সুতরাং, একটি ফাইলের কাছেfooPIGbarPIGbaz
আউটপুট হওয়া উচিত )।barPIGbaz
foo
নোট করুন যে রেফারেন্স ইন্টারপ্রেটার একটি কমান্ড লাইন আর্গুমেন্টের মাধ্যমে ইনপুট নেয় যা পড়ার জন্য কোনও ফাইলের নাম নির্দিষ্ট করে। তবে আপনার জমাটি পিপিসিজিতে গৃহীত কোনও মানক পদ্ধতিতে ইনপুট নিতে পারে।
SickPig
পছন্দটি সিকপিগ থাকলে পিগের মতো একই নির্দেশাবলী অনুসরণ করুন। তবে
PIG
ফাইলটি লেখার পরে লেখার পরিবর্তে নিম্নলিখিত তালিকা থেকে এলোমেলোভাবে বেছে নিনGRUNT MOAN OINK BURP GROAN WHINE
এবং পরিবর্তে যে ফাইল থেকে আউটপুট। এই এলোমেলো পছন্দটি অবশ্যই পূর্ববর্তী পছন্দ থেকে স্বতন্ত্র হতে হবে (সুতরাং, একটি আউটপুটটির
GRUNT
সামগ্রিকভাবে 1/5 * 1/6 = 1/30 সুযোগ থাকা উচিত)।DeadPig
ডেডপিগটি সিকপিগের মতো, তবে এটি এলোমেলোভাবে স্ট্রিংটি বেছে নেওয়ার পরিবর্তে সর্বদা নিম্নলিখিত স্ট্রিংটিকে আউটপুট দেয়:
Your pig has unfortunately died. Please try again.
QuinePig
কুইনপিগটি পিগের মতো, তবে
PIG
ফাইলটির পরে পাঠ্য লেখার পরিবর্তে এটি পুরো ইনপুটটি ফাইলে লিখে দেয় (সুতরাং, একটি ইনপুট হওয়াfooPIGbarPIGbaz
উচিতfooPIGbarPIGbaz
একটি ফাইলের আউটপুট হওয়া উচিতfoo
)।DeafPig
পছন্দটি যদি ডেফপিগ থাকে তবে কিছুই করবেন না। (শূকরটি বধির ... আপনি কী আশা করবেন?)
বিবিধ বিধি:
"এলোমেলো" অর্থ প্রতিটি পছন্দ মোটামুটি সমান সম্ভাবনা হওয়া উচিত (সুতরাং, পিগ নির্বাচন 90% সময় এবং অন্যান্য রূপগুলি কেবলমাত্র 2.5% সময় অবৈধ)।
আপনি ধরে নিতে পারেন যে অনুরোধ করা ফাইলের নামগুলি সর্বদা আপনার ফাইল সিস্টেমের জন্য বৈধ থাকবে (তবে সেগুলিতে স্পেস ইত্যাদি থাকতে পারে)।
পিগের সমস্ত ভেরিয়েন্টের জন্য, আপনার কোড optionচ্ছিকভাবে ফাইলটিতে একটি একক ট্রেইলিং নিউলাইনও আউটপুট দিতে পারে।
যেহেতু এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জিতবে।