एक पिग , सिकपिग , डेडपिग , क्विनेपिग या डेफपिग कार्यक्रम के इनपुट को देखते हुए , उन "भाषाओं" में से एक को यादृच्छिक रूप से चुनें और इनपुट को "भाषा" के रूप में व्याख्या करें।
पहले, बेतरतीब ढंग से "सुअर श्रृंखला" के पांच सदस्यों में से एक के बीच चयन करें:
सूअर
यदि चुनाव सुअर का था, तो निम्नलिखित को करते हुए संदर्भ दुभाषिया की नकल करें :
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
और आउटपुट फ़ाइल के बजाय। यह यादृच्छिक विकल्प पिछली पसंद से स्वतंत्र होना चाहिए (इसलिए, एक आउटपुट में
GRUNT
1/5 * 1/6 = 1/30 मौका होना चाहिए)।DeadPig
डेडपाइप सिकिपग की तरह है, लेकिन यह हमेशा बेतरतीब ढंग से एक स्ट्रिंग चुनने के बजाय निम्नलिखित स्ट्रिंग को आउटपुट करता है:
Your pig has unfortunately died. Please try again.
QuinePig
QuinePig पिग की तरह है, लेकिन
PIG
फाइल के बाद टेक्स्ट लिखने के बजाय, यह फाइल को पूरा इनपुट लिखता है (इसलिए, इनपुट का फाइल मेंfooPIGbarPIGbaz
आउटपुट होना चाहिए )।fooPIGbarPIGbaz
foo
DeafPig
यदि पसंद DeafPig था, तो कुछ भी न करें। (सुअर बहरा है ... आप क्या उम्मीद करते हैं?)
विविध नियम:
"रैंडम" का अर्थ है कि प्रत्येक पसंद लगभग समान रूप से होने की संभावना है (इसलिए, सुअर का 90% समय चुनना और अन्य वेरिएंट केवल 2.5% समय अमान्य है)।
आप मान सकते हैं कि अनुरोधित फ़ाइल नाम हमेशा आपकी फ़ाइल प्रणाली के लिए मान्य होंगे (लेकिन उनमें स्थान हो सकते हैं, आदि)।
सुअर के सभी वेरिएंट के लिए, आपका कोड वैकल्पिक रूप से एकल अनुगामी न्यूलाइन को फ़ाइल में भी आउटपुट कर सकता है।
चूंकि यह कोड-गोल्फ है , बाइट्स में सबसे छोटा कोड जीत जाएगा।