एक पिग , सिकपिग , डेडपिग , क्विनेपिग या डेफपिग कार्यक्रम के इनपुट को देखते हुए , उन "भाषाओं" में से एक को यादृच्छिक रूप से चुनें और इनपुट को "भाषा" के रूप में व्याख्या करें।
पहले, बेतरतीब ढंग से "सुअर श्रृंखला" के पांच सदस्यों में से एक के बीच चयन करें:
सूअर
यदि चुनाव सुअर का था, तो निम्नलिखित को करते हुए संदर्भ दुभाषिया की नकल करें :
PIGइनपुट (केस-संवेदी) में शब्द की पहली घटना का पता लगाएं ।यदि शब्द
PIGइनपुट में प्रकट नहीं होता है, तो संदेशFile must contain the string 'PIG'.और बाहर निकलें आउटपुट ।अन्यथा, इनपुट स्ट्रिंग को पहली घटना पर विभाजित करें
PIG। पहलेPIGफ़ाइल के फ़ाइल नाम के साथ फ़ाइल की पहली घटना के बाद पाठ को आउटपुट करेंPIG।PIGआउटपुट में पाठ में समाहित किया जा सकता है (इसलिए, इनपुट का एकfooPIGbarPIGbazआउटपुटbarPIGbazजिसे फ़ाइल कहा जाता हैfoo)।
ध्यान दें कि संदर्भ दुभाषिया कमांड लाइन तर्क के माध्यम से इनपुट लेता है जो फ़ाइल नाम से पढ़ने के लिए निर्दिष्ट करता है। हालाँकि, आपका सबमिशन PPCG पर स्वीकृत किसी भी मानक विधि में इनपुट ले सकता है।
SickPig
यदि पसंद SickPig था, तो Pig के समान निर्देशों का पालन करें। हालाँकि,
PIGफ़ाइल के बाद पाठ लिखने के बजाय , निम्न सूची से यादृच्छिक रूप से चुनेंGRUNT MOAN OINK BURP GROAN WHINEऔर आउटपुट फ़ाइल के बजाय। यह यादृच्छिक विकल्प पिछली पसंद से स्वतंत्र होना चाहिए (इसलिए, एक आउटपुट में
GRUNT1/5 * 1/6 = 1/30 मौका होना चाहिए)।DeadPig
डेडपाइप सिकिपग की तरह है, लेकिन यह हमेशा बेतरतीब ढंग से एक स्ट्रिंग चुनने के बजाय निम्नलिखित स्ट्रिंग को आउटपुट करता है:
Your pig has unfortunately died. Please try again.QuinePig
QuinePig पिग की तरह है, लेकिन
PIGफाइल के बाद टेक्स्ट लिखने के बजाय, यह फाइल को पूरा इनपुट लिखता है (इसलिए, इनपुट का फाइल मेंfooPIGbarPIGbazआउटपुट होना चाहिए )।fooPIGbarPIGbazfooDeafPig
यदि पसंद DeafPig था, तो कुछ भी न करें। (सुअर बहरा है ... आप क्या उम्मीद करते हैं?)
विविध नियम:
"रैंडम" का अर्थ है कि प्रत्येक पसंद लगभग समान रूप से होने की संभावना है (इसलिए, सुअर का 90% समय चुनना और अन्य वेरिएंट केवल 2.5% समय अमान्य है)।
आप मान सकते हैं कि अनुरोधित फ़ाइल नाम हमेशा आपकी फ़ाइल प्रणाली के लिए मान्य होंगे (लेकिन उनमें स्थान हो सकते हैं, आदि)।
सुअर के सभी वेरिएंट के लिए, आपका कोड वैकल्पिक रूप से एकल अनुगामी न्यूलाइन को फ़ाइल में भी आउटपुट कर सकता है।
चूंकि यह कोड-गोल्फ है , बाइट्स में सबसे छोटा कोड जीत जाएगा।