З огляду на введення програми Pig , SickPig , DeadPig , QuinePig або DeafPig , виберіть одну з цих "мов" випадковим чином і інтерпретуйте вклад як цю "мову".
По-перше, випадковим чином вибирайте одного з п’яти учасників "Свині серії":
Свиня
Якщо вибір був Pig, імітуйте перекладача , виконуючи наступні дії:
Знайдіть перше виникнення слова
PIGу введенні (залежно від регістру).Якщо слово
PIGне відображається на вводі, виведіть повідомленняFile must contain the string 'PIG'.та вийдіть.В іншому випадку розділіть рядок введення при першому появі
PIG. Виведіть текст після першого появи уPIGфайлі з назвою цього тексту ранішеPIG.PIGможе міститись у тексті для виведення (таким чином, вхідfooPIGbarPIGbazповинен виводитиbarPIGbazу файл, що називаєтьсяfoo).
Зауважте, що довідковий інтерпретатор приймає введення через аргумент командного рядка, який визначає ім'я файлу, з якого слід читати. Однак ваше подання може взяти участь у будь-якому зі стандартних методів, прийнятих на PPCG.
Хворі свині
Якщо вибір був SickPig, дотримуйтесь тих же вказівок, що і Свиня. Однак замість того, щоб писати текст після
PIGфайлу, вибирайте випадковим чином із наступного спискуGRUNT MOAN OINK BURP GROAN WHINEі вивести це у файл замість цього. Цей випадковий вибір повинен бути незалежним від попереднього вибору (так, вихід
GRUNTмає мати загальний шанс 1/5 * 1/6 = 1/30).DeadPig
DeadPig схожий на SickPig, але він завжди виводить наступний рядок замість випадкового вибору рядка:
Your pig has unfortunately died. Please try again.QuinePig
QuinePig - це як Pig, але замість того, щоб писати текст після
PIGцього у файл, він замість цього записує весь вхід у файл (так, вхідfooPIGbarPIGbazповинен виводитиfooPIGbarPIGbazу файл, який називаєтьсяfoo).Глухий свинь
Якщо вибір був DeafPig, нічого не робіть. (Свиня глуха ... що ти очікуєш?)
Різні правила:
"Випадковий" означає, що кожен вибір повинен бути приблизно однаково вірогідним (таким чином, вибір Свині 90% часу, а інші варіанти лише 2,5% часу недійсні).
Ви можете припустити, що запитувані імена файлів завжди будуть дійсними для вашої файлової системи (але вони можуть містити пробіли тощо).
Для всіх варіантів Pig, ваш код може необов'язково виводити в файл також одну проміжну нову рядок.
Оскільки це код-гольф , найкоротший код у байтах виграє.