Deadfish - жартівлива "мова програмування" з чотирма командами. Оскільки сторінка Esolang трохи суперечлива, а перекладачі на цій сторінці працюють не однаково, слід застосувати наступну варіацію:
Специфікація
- Є акумулятор розміром принаймні 16 біт, більше дозволено, але менше - ні. Негативні цифри не потрібно підтримувати. Акумулятор - це
0коли програма запускається. - Існують наступні два набори з чотирьох команд, і ваша програма повинна підтримувати обидві одночасно.
Стандартний мертвий ish Варіант XKCD │ Значення ───────────────────────────────────────────────────── ─────────────────────────── i │ x │ акумулятор приросту d │ d │ акумулятор зменшення s │ k │ площа (acc = acc * acc) o │ c │ Вихідний акумулятор, як число - Якщо після виконання команди акумулятор є
-1або256, акумулятор повинен бути скинутий до нуля. Зауважте, що це не нормальне обгортання. Якщо, скажімо, акумулятор є20, іsкоманда виконується, акумулятор повинен бути400згодом. Аналогічно, якщо акумулятор є257іdкоманда виконується, акумулятор повинен стати0. - Будь-який ввід, який не є однією з цих команд, слід ігнорувати.
Тестові програми
xisksoповинен вивести0xiskiscповинен вивести289
I / O
Ваша програма повинна відображати підказку: >>. Підказка повинна бути на початку нового рядка. Потім він повинен прочитати рядок введення користувача та запустити задані команди зліва направо. При виведенні чисел цифри повинні бути розділені. Тобто 12 34все в порядку, 12,34це добре,
12
34
гаразд, але 1234це не так.
Ваша програма повинна робити це в циклі, принаймні, поки не EOFбуде досягнуто.
Приклад сеансу:
>> xiskso
0
>> xiskisc
289
>> ddddo ddddo
285
281
>> ddddo ddddo
277
273
>> dddddddo
266
>> dddddddddo
257
>> do
0
>> do
0
>> io
1
>>
#{STDIN.gets}буде працювати, але насправді це не так.