Примерно год назад, 31 декабря 2015 года, у меня возникла мысль, что:
Doorknob любезно собрал персонажей из сообщества PPCG и держал их в безопасности в течение года.
В нем приняли участие 74 человека, так что у нас есть 74 печатных символа ASCII для игры!
Вот 74 символа строки капсулы времени 2016 в том порядке, в котором они были отправлены:
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
Вот 74 символа строки капсулы времени 2016 в порядке ASCII (обратите внимание на начальный пробел):
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
Работать не так уж и много, но здесь нам нравится вызов.
Соревнование
Чтобы определить, какой язык «лучший» для строки временной капсулы, у нас будет 6 (на 201 6 ) испытаний, которые увеличиваются по сложности, в каждой из которых вы должны использовать поднабор из 74 символов временной капсулы.
Наличие 6 различных задач помогает обеспечить конкуренцию большему количеству языков, но только лучшие языки смогут ответить на все из них и набрать высокий балл.
Подсчет очков:
- Каждое испытание будет оцениваться от 0 до 74 в зависимости от того, сколько символов используется.
- Чем выше баллы, тем лучше.
- Если ваш язык не может выполнить задание, ваш счет для этого задания равен 0.
- Любое непустое подмножество задач может быть выполнено.
- Ваш итоговый балл - это сумма баллов за все 6 испытаний.
- Наилучшая возможная итоговая оценка - 6 × 74 или 444 .
Испытания
1. Беги
Если код языка не может выполняться в первую очередь, он вообще ничего не сможет сделать.
Напишите самую длинную полную программу (используя только 74 символа капсулы времени, помните), которая запускается / выполняется без ошибок во время компиляции или во время выполнения.
Не имеет значения, что делает программа, не имеет значения, имеет ли она ввод-вывод или входит в бесконечный цикл, важно только то, что она работает без ошибок. (Предупреждения в порядке, как и ошибки, вызванные неправильным пользовательским вводом.)
Комментарии разрешены, так что это может быть так просто, как
#H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
в Python за 74 балла.
(Не бойтесь отвечать, если это единственная задача, которую может выполнить ваш язык, но также не ожидайте большого количества голосов.)
Оценка = продолжительность программы (чем длиннее программа, тем лучше)
2. I / O
Язык, который не имеет формы ввода или вывода, почти так же бесполезен, как и тот, который не может работать.
Если задан печатный символ ASCII от !
(0x33) до }
(0x7D) включительно, выведите печатный символ ASCII до и после него.
Вывод может быть длиной в две строки или списком, или символами, разделенными пробелом или новой строкой.
Например, если вход является }
выходом, может быть |~
или ["|", "~"]
или | ~
или или |\n~
.
Аналогично, "
является выходом для !
и AC
является выходом для B
.
Score = 74 - длина программы (чем короче программа, тем лучше)
3. Ветвистость
Условные обозначения часто являются требованием для полноты по Тьюрингу , что часто является требованием для полезного языка.
Если задано положительное целое число, если оно заканчивается десятичными цифрами, 16
измените на 6
a 7
и выведите результат; в противном случае выведите входные данные без изменений. Вы можете использовать строки для ввода / вывода, если хотите.
Примеры:
2016 -> 2017
16 -> 17
116 -> 117
1616 -> 1617
6 -> 6
15 -> 15
17 -> 17
106 -> 106
2106 -> 2106
Score = 74 - длина программы (чем короче программа, тем лучше)
4. Loopability
Язык, который не может делать циклы, будет порождать повторяющийся код, настолько утомительный, что вам потребуется некоторое время на перерыв в программировании.
Получив положительное целое число, выведите квадрат ASCII-искусства той длины стороны, заполненный узором из концентрических меньших квадратов, которые чередуются между любыми двумя различными печатными символами ASCII . Они не должны быть одинаковыми двумя символами для разных входов.
Например:
1 <- input
X <- output
2
XX
XX
3
XXX
X-X
XXX
4
XXXX
X--X
X--X
XXXX
5
YYYYY
Y...Y
Y.Y.Y
Y...Y
YYYYY
6
XXXXXX
X----X
X-XX-X
X-XX-X
X----X
XXXXXX
7
ZZZZZZZ
Z-----Z
Z-ZZZ-Z
Z-Z-Z-Z
Z-ZZZ-Z
Z-----Z
ZZZZZZZ
Score = 74 - длина программы (чем короче программа, тем лучше)
5. Математика
Язык, который плохо разбирается в цифрах и математике, может быть и для гуманитарных специальностей.
Не принимайте никаких входных данных, но выведите 72 целочисленных делителя 2016 года , положительных и отрицательных, в любом порядке. Вывод может быть отформатирован в виде строки или списка разумным способом.
Пример:
-1, -2, -3, -4, -6, -7, -8, -9, -12, -14, -16, -18, -21, -24, -28, -32, -36, -42, -48, -56, -63, -72, -84, -96, -112, -126, -144, -168, -224, -252, -288, -336, -504, -672, -1008, -2016, 1, 2, 3, 4, 6, 7, 8, 9, 12, 14, 16, 18, 21, 24, 28, 32, 36, 42, 48, 56, 63, 72, 84, 96, 112, 126, 144, 168, 224, 252, 288, 336, 504, 672, 1008, 2016
Score = 74 - длина программы (чем короче программа, тем лучше)
6. Эзотеризм
(Нет, не что .) Мы в PPCG как наш эзотерический материал , и quines являются хорошим примером этого.
Напишите самую длинную квинну, которую вы можете, согласно обычным правилам квин . Quine - это программа, которая не требует ввода и выводит сама себя.
Оценка = продолжительность программы (чем длиннее программа, тем лучше)
Особые правила
- В каждом из 6 заданий ваша программа должна быть подмножеством из 74 капсульных символов, переставленных так, как вам нравится. Это может быть пустое подмножество или неправильное подмножество , поэтому каждая из ваших программ может содержать от 0 до 74 символов.
- Одиночный завершающий перевод строки в конце ввода / вывода / кода в любом месте в порядке, поскольку некоторые языки требуют этого, или его нельзя легко избежать.
- Если не указано иное, каждый вызов может быть выполнен в виде функции или полной программы в соответствии с нашими значениями по умолчанию .
- Все задачи должны быть выполнены на одном языке.
- Вы должны использовать язык (или версию языка), созданный до 2017 года в любой точке Земли .
- Любой желающий может ответить, независимо от того, добавили ли вы персонажа в капсулу времени или нет.
Не стесняйтесь использовать персонажей капсулы времени 2016 года в ваших собственных задачах.
источник
6×74 or 444
это невозможно, поскольку это означало бы пустые программы, которые как-то ведут себя по-разному. следовательно, 442 является фактическим минимумом, поскольку это означает, что в двух из 3 программ ввода данных есть символОтветы:
Глифо , 74 + (74 - 36) = 112
1. Выполнить (74 байта)
2. IO (36 байт)
объяснение
Glypho казался довольно хорошим выбором для этой задачи, потому что он не заботится о реальных используемых персонажах. Вместо этого он просматривает группы из четырех символов и выбирает команду на основе шаблона повторения этих четырех символов. Поскольку в строке временной капсулы много дубликатов, мы довольно гибки в программах, которые мы можем написать, за исключением того, что мы ограничены программами из 18 команд (что не так уж много в Glypho). Хотя это позволило мне решить первые две проблемы довольно легко, я сомневаюсь, что Glypho может запустить другие с таким количеством персонажей.
Я протестировал их с помощью интерпретатора Java, полученного в 2006-06-23 на машине обратного хода , которая использует немного другое отображение команд:
Программа Run переводится на:
Где
...
мусор, который я не потрудился перевести?Программа IO переводится как:
Вот что это делает:
источник
CJam, 74 + (74 - 14) + (74 - 26) = 182 балла
1. Выполнить (74 байта)
Двигаясь
e#
вперед, комментирует всю строку.2. Ввод / вывод (14 байтов)
Денис спас 8 байтов.
Объяснение:
3. Разветвленность (26 байт)
Объяснение:
Я посмотрю на других позже. ( РЕДАКТИРОВАТЬ : я сомневаюсь, что они возможны, без блочных или строковых литералов ... может быть, математический?)
источник
9`)ZH*+~):Q(Q)
.J, оценка 71 + (74 - 19) = 126
Задача 1, длина 71
Это определяет глагол,
AHILO
чтобы быть внутри. Неиспользованные:Я не думаю, что есть какой-то способ получить больше, чем этот.
Задание 3, длина 19
Способ выполнить эту задачу без ограничений заключается
+16=100|]
в следующем:У нас есть
+
,=
и несколько копий или|
в нашем распоряжении, и это легко обойти]
, но цифры являются более проблематичными. Вот первая часть, которая вычисляет вход по модулю 100:После того, как мы закончим с этим, давайте сгенерируем число 16. Самый простой способ - с
*~4
(4 умножить на себя), но мы уже использовали,*
так что это запрещено. Вместо этого мы сделаем некоторые манипуляции с массивами.работай
2
Это совершенно определенно невозможно. Единственными способами манипулирования значениями символов являются
a.
иu:
, и у нас нет доступа ни к одному из них.Теперь, если бы мы могли использовать
a
вместо, скажемA
, то это было бы решением:Самым сложным было заставить его работать с номером -1.
4
Это создает форму шелухи, но я не могу найти способ генерировать символы. Увы.
5
По общему признанию, это кажется самой простой из задач, которые нужно выполнить в J. Однако без
i.
этого это будет довольно сложно.6
Скорее всего, это невозможно без фальшивого квинета
449
или чего-то подобного, потому что строка капсулы не содержит кавычек или какого-либо другого способа создания J-строк.источник
Q{~1+I.~&Q=:a.
дает следующий символ: связать алфавитa.
сQ
, найти в нем индекс вводаI.
, добавить один и индексировать вQ
. Попробуй. Единственная оставшаяся проблема - произвести-1
...+16=100&|
. Вам просто нужно как-то произвести 16 и 100.+($@#~@$~4)=1e4|&%:*~
Это было чрезвычайно раздражает, потому что у нас есть только один каждый(&=:+*
и два4
с.Q{~(*^.4%9 1)+I.~&Q=:a.
Я понял, что логарифм^.
дает отрицательные числа для входных данных строго между 0 и 1, и мы имеем%
для получения дробей и*
для получения результатов до -1 и 1.PowerShell - Общая оценка: 74
1. Бег - Счет: 74
Поскольку в PowerShell это чрезвычайно сложно (насколько я могу судить, любой возможный способ получения ввода невозможен с указанными символами), я по крайней мере решил рандомизировать первую задачу, поэтому мы не все копируем пример напрямую. из поста.
Итак, вот генератор ответов на случайный вызов 1 (для языков, где
#
есть комментарий):Попробуйте онлайн!
источник
$^
- это «первый токен предыдущей строки в сеансе», который был бы чрезвычайно ограниченным и, скорее всего, серьезным отклонением от стандартных правил ввода-вывода.$^
пусто в новой сессии в любом случае.мемы , оценка (
6265 + 70) 1351: запустить
Я удалил все backticks (
`
) и математические операторы. Они конфликтовали, потому что не было достаточно чисел, чтобы удовлетворить каждый унарный и бинарный оператор. Я оставил немного, в результате чего +3 байта . Результирующая программа:Я понятия не имею, почему и как это сработало. По крайней мере, он не генерирует никаких исключений во время выполнения C # и, следовательно, не вылетает.
6: Куайн
Знаете, если бы в этих 74 символах были
-
буквы или строчные буквыq
, это было бы слишком просто. Я рад заI
оператора, по крайней мере.Этот код не совсем очевиден. Вот объяснение:
Строки дроби (например1/4
) отображаются с I в конце, чтобы точно указать это.I
Оператор, как правило , бесполезно, я добавил его для других средств, но эй, это работает как это!Код выше недействителен. Глупо я не видел, что 74 символа не содержат ни одного оператора деления, forwardwardslash (
/
). Я придумал что-то еще, хотя:Объяснение:
Выходы
True
(из-за того, как C # обрабатываетBoolean.ToString()
прописные, а не строчные буквы). Не уверен, что это правильная квина, а я все еще ломаю голову над настоящей, действительно правильной и интуитивно понятной.Может также решить проблемы ввода-вывода и математики, но мне не хватает определенных токенов (символов), которые не включены в 74 символа.
источник
Brainfuck, 74 байта
Я просто должен был.
Объяснение:
Любой символ, который не является допустимым символом Brainfuck, рассматривается как комментарий. Единственный код, который действительно запускается, это:
Это не приводит к выводу на печать, поскольку ни 0, ни 1 не являются печатными символами в ASCII. Однако это не приводит к ошибке, поэтому мы успешно выполнили первую задачу.
источник
Mathematica, оценка 62
Я был бы удивлен, если кто-то может сделать задачи 2-6 работы в Mathematica. Вот лучшее, что я сделал с задачей 1:
Определяет довольно глупую функцию
A
с постоянным значением. 12 неиспользованных символов:источник
Октава, оценка 74
1. Беги
50 из этих символов являются частью функции, а остальные 24 - нет.
Что оно делает:
x =@(AHILOQQQTTZeefmpy)
создает функцию,x
которая может принимать переменную вAHILOQQQTTZeefmpy
качестве входных данных.Чтобы понять остальное:
a||b
вызывает функциюall()
на обоихa
иb
. Если один или оба из них вернут true,||
оператор вернет true.!a
и~a
означает то же самое здесь, они обаnot(a)
.a.^b
стихийная сила(a(1)^b(1), a(2)^b(2) ...)
Продолжение объяснения
Я буду сокращать каждый из шагов по мере продвижения:
А также:
Существует четное число
not
, так что это эквивалентно тому,not(not(4))
чтоtrue
или1
.Остальное закомментировано.
источник
*> <> , общий балл = 74
1. Беги, набери 74
Попробуй это здесь!
Это было чрезвычайно трудно сделать без
;
персонажа. Я действительно думал, что это будет невозможно на пару мгновений, пока я не увидел%
, что я в основном сдался.Это также действительная> <> программа.
Объяснено (нерелевантные части опущены)
Проблемы, с которыми сталкиваются
Я мог бы попробовать другие вызовы ... они были бы чрезвычайно сложными и могли бы включать в себя странное изменение правил, но либеральное использование
|
зеркал и!
батутов должно сделать возможным, по крайней мере, еще один вызов.Эти проблемы особенно сложны, потому что нам не разрешены никакие выходные данные с *> <> (
o
иn
), или даже вызовы функций (C
), функции return (R
) или терминаторы программ (;
). Несмотря на то, что нам также не хватаетi
ввода, мы все равно можем поместить ввод в стек, что является плюсом. Еще одним плюсом является то, что мы получаем единственнуюp
инструкцию, которая позволяет нам заменить инструкцию в кодовом поле. Возможно, это можно будет использовать несколько раз (пока не удалось найти практического решения), что может сделать другие программы более вероятными (поскольку мы сможем создать две или более инструкции).источник
Хаскелл, оценка 63
1. Запустите:
Не используется в
)))```````{
. Комментарии в Haskell - это--
или{- ... -}
, так что нет простой версии для комментариев.Этот код определяет инфиксный оператор,
!!!!!#$$%&*+...:@@@\^||||~~~~~~~~~
который принимает два аргумента:fmpxyAHILOQQQTTZ
который игнорируется и поэтому может быть произвольного типаe
, которая должна быть функцией, принимающей два числаВ теле функции
e
затем применяется 14 и 49, используя`
обозначение -infix.Пример использования:
Оператор применяется к
()
пустому кортежу и(*)
оператору умножения, поэтому14*49 = 686
вычисляется.Попробуйте онлайн!
Другие проблемы
Я сомневаюсь, что возможны любые другие проблемы, особенно из-за отсутствия возможных имен переменных, которые могут появляться дважды, а это только
e
(или что-то подобноеeQT
), потому что имена переменных не могут начинаться с заглавной буквы. Конечно, наличие только одного=
не помогает.источник
Pyth, 131 на данный момент (2 испытания завершены)
1. Бег, 74
Эта программа не принимает ввод и не создает вывод.
Эта программа использует
$$
, что позволяет выполнять произвольный код, и поэтому запрещена в сети, поэтому эта программа работает в автономном режиме. Вот его результаты компиляции, так что вы можете увидеть, что на самом деле запускается:Довольно сложно написать программу с произвольными символами, которая не содержит ошибок в Pyth. Я поставил перед собой дополнительную задачу, состоящую в том, чтобы программа работала без участия пользователя.
Первый шаг - использовать
#
все ошибки. Далее, нам необходимо , чтобы избежать ошибок , вызванных~
,I
иL
, каждый из которых имеет свои собственные данные. Это достигается путем помещения их внутрь$$
, что встраивает их в выходную компиляцию и, таким образом, подчиняет их правилам компиляции Python, а не Pyth. Наконец, чтобы избежать ввода пользователя, различные маркеры арности 0 (переменные и аналогичные) помещаются в конец, аQ
s перемещаются внутри$$
блока.2. IO
Это будет невероятно сложно, если это вообще возможно. Ни одна из функций Pyth, которые создают произвольные строки или символы, не присутствует, за исключением того
.f
, что это действительно плохая работа по созданию произвольных символов.3. Разветвленность: 74 - 17 = 57
Попробуйте онлайн
Эквивалентная программа Pyth будет:
Этот код принимает входной мод 100, сравнивает его с 16, а затем использует троичный для выбора между входом и входом плюс один. Из-за ограничений персонажа я сделал несколько замен:
Тогда вместо
?
троичного, который я использовал|&
, у которого та же функциональность, за исключением того, что он ломается, если ввод равен нулю, но, поскольку нам гарантирован положительный целочисленный ввод, это нормально. (Это можно исправить без дополнительных символов, но так проще.)or
and
Вместо непосредственного сравнения двух чисел, я беру их XOR
x
, который равен нулю тогда и только тогда, когда они равны, как хотелось бы.Вместо того, чтобы писать
100
напрямую, я генерирую его с помощью*TT
, посколькуT
инициализируется в10
.Вместо того, чтобы писать
16
напрямую, я генерирую это с помощьюye|LZ9
.|LZ
по существу, функционирует как функция диапазона, так что|LZ9
дает[0, 1, 2, 3, 4, 5, 6, 7, 8]
.e
берет последний элемент списка, давая8
.y
удваивает, давая16
по желанию. С дополнительным+
или дополнительным*
я мог бы сохранить персонажа, но они оба более полезны в другом месте.Еще не все!
источник
Рубин - Счет: 74
1. Беги
Схватил от вызова.
источник
JavaScript (ES6), оценка = 74
1. Выполнить, 74 байта
6. Эзотеризм (недействительный)
Для записи, мой предложенный quine был:
который оказался недействительным, как обсуждалось в комментариях ниже.
источник
Сетчатка, оценка 74
1. Беги, набери 74
Я перенес дополнительные парены в конфиг, чтобы они могли балансировать в регулярном выражении. Я также перешел
`
сразу после них и перешел+.
на.+
.Попробуйте онлайн
Другие, скорее всего, невозможны, так как нет новых строк. Там также нет
-
для транслитерации илиd
для класса символов цифр.источник
Пип, оценка 74 + (74 - 19) = 129
Так много кавычек с ни одной кавычкой, будь то один или два!
Задача 1, оценка 74
По сути, это просто серия шаблонных (регулярных выражений) литералов в обратных тегах, последний из которых напечатан. Поскольку существует нечетное количество обратных галочек, мы должны убрать один из них с обратной косой чертой (
`\``
). Попробуйте онлайн с-w
добавленным флагом, чтобы доказать, что предупреждения не генерируются.Задание 3, оценка 55 (длина 19)
Используя довольно странный метод ввода - пятый аргумент командной строки - это возможно. Попробуйте онлайн!
Другие задачи
Можно получить входные данные для задачи 2 тем же способом, что и для задачи 3 выше. Проблема заключается в преобразовании в код ASCII и обратно в символ. Первый может быть сделан с
A
, но последний требуетC
, или возможно индексация вPA
переменной. Создание и оценка кода не может быть сделано безV
. Я не думаю, что задача возможна.Задача 4 сложная даже без ограниченного набора символов. В предположении, это потребовало бы списков (без использования
[]
разделителей илиRL
(повторный список) и только с одним шансом использоватьAL
(добавить список) - маловероятно) или возможно что-то сCG
(координатная сетка) илиMC
( координаты карты), оба запрещены ,Задача 5 находится на грани возможности. Циклы будут сложными, так как
F
или иM
ap невозможны, а диапазоны не могут быть построены,
. Там может быть что-то, что можно сделать сT
больным. Инкремент может бытьx:x+1
разнообразным (очевидно, с переменной, отличной отx
, хотя). Проверки делимости можно использовать%
. Тем не менее, я не думаю, что есть достаточно символов - особенно повторяющиеся буквы - чтобы сделать все, что должно произойти.Задача 6 выглядит совершенно невозможной. Все известные Pip Quines есть
"
в них. Они также используютR
(заменить),RP
(repr) илиV
(eval), ни один из которых не доступен.источник
На самом деле, оценка (74 + 0 + 0 + 0 + 0 + 0 ) = 74
Да, строка капсулы будет работать с Actual, как и для Run, так как Actual отклоняет все ошибки, и каждая ошибка становится NOP.
H@~*^)$.
( Попробуйте онлайн! )~+1A|Q)p~
\Z!IQ~e:O.~@#|9@)Tf\eT`=(!
|~!y!
) Q~$x.4|m4~~&!L{%Тем не менее, он будет выводить беспорядок (но также и один раз: 3).
Однако я буду работать над другими проблемами.
источник
Q
вообще (так как это встроенный метод quining), двойных кавычек нет, поэтому вы не можете выполнять форматирование строк. Вчера я некоторое время работал над этим, и я вполне уверен, что другие программы невозможны только с 74 символами.05AB1E - Общий балл: 74
1. Выполнить, 74 байта
Все, что вызывает ошибку, пропускается 05AB1E. Вся эта строка кода является NOP.
Попробуйте онлайн!
источник
(оскорблено) PHP, 74 + 74 = 148
Интерпретатор PHP просто сбрасывает исходный код до тех пор, пока не найдет a,
<?
так как нам не хватает<
каждой перестановки этих символов в текущей квине. Я думаю, это не так уж и плохо, чем использование встроенной команды quine: Pисточник
output this char
до тех пор, пока он не встретит<
. Я не говорю, что он способен работать с полезной нагрузкой или просто я говорю, что нет разницы в языке, в котором есть символ с надписьюoutput the source
. Если это неверный ответ для части 1, то любой язык, который принимает любые вводимые данные без ошибок, также не является правильным ответом. Я не думаю, что это более оскорбительно, чем большинство ответов здесь.Математика, оценка 68
Обратите внимание на завершающий символ новой строки. Я не верю, что с Mathematica можно решить любую другую проблему.
источник
Лабиринт, оценка 74
Я почти уверен, что любой набор этих персонажей создает действительную программу Лабиринт, но чтобы сделать ее хотя бы немного интереснее, она печатает
2016
цифра за цифрой. (В итоге: нажмите 22
в стеке, вытолкните / распечатайте один, переместите другой в вспомогательный стек, напечатайте 0, нажмите 21
в стеке, поп / распечатайте 1, увеличивайте, поразрядно нет, отрицайте (это последнее1
является3
в этой точке), сумма с2
из стека AUX, 5 * 10 + 4 = 54, печать в качестве значения ASCII, прекращать)Большая часть длинной строки просто игнорируется, поскольку
@
завершает программу.Испытания 2, 3 и 4 невозможны, поскольку ни одна из команд ввода Лабиринта не доступна (
,
или?
), и я ничего не придумал для 5 или 6.источник
SmileBASIC, 48 баллов
Задача 1:
объяснение:
другие:
Команды ввода / вывода недоступны, поэтому остальные невозможны.
Тем не менее, неплохо для реального языка без использования комментариев.
источник
MATL , общий балл 74
1. Беги, набери 74
Все до
%
актуального кода.%
является символом комментария, поэтому символы справа от него игнорируются.Программа выводит
1
без ошибок.Попробуйте онлайн!
источник
Баш, оценка 74
1: запустить. Мы можем запустить все 74
6: Эзотеризм:
Пустая программа - это quine in bash.
Без каких-либо пробельных символов ничего в списке не может быть достигнуто. Ergo, у меня есть победная запись от bash.
источник
Perl 6 , общий балл 74
1. Беги, набери 74
Без комментариев.
(Просто поставить
#
перед, чтобы сделать комментарий тоже работает, но это веселее.)работай
Это подмножество языка Perl 6, в котором используются только разрешенные символы:
Непосредственное препятствие, мешающее вызовам 2-6, заключается в том, что, похоже, нет способа выполнить ввод / вывод:
Если мы предполагаем, что есть файл с именем
f
, мы могли бы использовать его,Q`f`.IO.e
чтобы проверить, существует ли он, илиQ`f`.IO.x
проверить, является ли он исполняемым. Но мы не можем ни читать, ни писать.Мы могли бы использовать
Q:x` `
для запуска команды оболочки (при условии, что мы находим символы для одного). Но мы не можем ничего интерполировать в это, так что это будет полезно только для чтения, а не для записи.Поскольку закрывающей скобки нет, мы не можем сделать лямбду-блок (например
{1 + $_}
), которая автоматически возвращает значение своего последнего оператора.Мы могли бы использовать звездочку, чтобы сделать выражение лямбда (например
1+*
), но тогда мы можем взять только один аргумент, ссылаться на этот аргумент только один раз и еще более ограничены в синтаксисе / операторах, которые мы можем использовать.источник
Луа, оценка 31
1. Бег (31 из 74 баллов)
источник
variable =stuff
на 1 байт длиннее.Желе , оценка 74
1. Бег , 74
Не уверен, как это сделать другим.
источник
/// , Оценка: 146
1. Бег, оценка: 74
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
6. Куайн, Счет: 72
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ^`````````eefmpxy{||||~~~~~~~~~
Да, когда в коде нет никаких прямых или обратных косых черт, он просто печатает сам.
источник