5 языков, 249 байт
Примечание: \rи \eявляются буквальными символами перевода строки и escape-символами, но \x5bдолжны быть как есть, в противном случае Ruby жалуется на класс символов в регулярном выражении.
Немного опоздал на вечеринку и ни в коем случае не победитель, но я начал работать над полиглотом для соревнования по благодарению и почувствовал, что может быть немного поздно, поэтому превратил его в это!
q=0//1;'''<?die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));?>/.to_s.ord;def input()gets.to_i;end;q=+q+0;True="Vrai";False="Faux";'+;sub a{<><1?Vals:Waar}q-
input=prompt;print=alert;True="Vero";False="Falso"//'#'''
a=[False,True];b=input();1-+1;print(a[b])
объяснение
Python: True/False
q=0//1;'''<?die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));?>/.to_s.ord;def input()gets.to_i;end;q=+q+0;True="Vrai";False="Faux";'+;sub a{<><1?Vals:Waar}q-
input=prompt;print=alert;True="Vero";False="Falso"//'#'''
a=[False,True];b=input();1-+1;print(a[b])
Здесь мы устанавливаем qна 0//1что 0, то есть '''строка , которая содержит большую часть другого кода, хранить массив , содержащим Falseи Trueи indicies 0и , 1соответственно, назначить вклад b(который должен быть 0или 1для обозначения Falsyи Truthy) , то printв bй индексе a, показывающие Falseили True.
Рубин: Vrai/Faux
q=0//1;'''<?die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));?>/.to_s.ord;def input()gets.to_i;end;q=+q+0;True="Vrai";False="Faux";'+;sub a{<><1?Vals:Waar}q-
input=prompt;print=alert;True="Vero";False="Falso"//'#'''
a=[False,True];b=input();1-+1;print(a[b])
Как и в сценарии Python, мы устанавливаем переменную q, но в Ruby это значение равно 0 / /1;'''<?die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));?>/.to_s.ord, поскольку Ruby разбивает его на 0/«деление на ноль», а на следующее /- «начало литерала регулярного выражения». Используя этот литерал, я могу скрыть код PHP и начать работу с Python '''. Мы должны добавить, .to_s.ordпотому что правильный операнд /должен быть Fixnum. После этого мы определяем функцию input()и переменную Trueи Falseдолжны содержать их французские аналоги и, наконец, начинаем строку, 'которая продолжается на следующей строке. Наконец, мы создаем массив, aкоторый содержит "Vrai"и, "Faux"и выбираем их, используя input()номер ed 0или 1.
Perl: Waar/Vals
'0//1;\'\'\'<?die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));?>/.to_s.ord;def input()gets.to_i;end;q}+q{0;True="Vrai";False="Faux";\'';sub a{<><1?Vals:Waar}'
input=prompt;print=alert;True="Vero";False="Falso"//\'#\'\'\'
a=[False,True];b=input();1'+1;print(a[b])
В Perl, то q=..=, q+...+и q-...-блоки цитируются литералы , используя необычные разделители, в коде выше я заменил их с '...'. Большая часть кода содержится в буквальной строке, но мы определяем sub a(который содержит <><!), Который проверяет, STDINменьше ли 1, возвращая либо Waarили, либо Vals. print(a[b])Фактически printS результат вызова метода sub aс и аргументом , [b]который является ссылкой на массив , который содержит голое слово b.
JavaScript: Vero/Falso
q=0//1;'''<?die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));?>/.to_s.ord;def input()gets.to_i;end;q=+q+0;True="Vrai";False="Faux";'+;sub a{<><1?Vals:Waar}q-
input=prompt;print=alert;True="Vero";False="Falso"//'#'''
a=[False,True];b=input();1-+1;print(a[b])
Первая строка в основном закомментирована разделением 0//1( //это комментарий строки в JavaScript), поэтому мы просто установили qна 0. Следующая строка имеет дело с отображением функций JS на их имена Python и установкой переменных, Trueа также Falseдля того, чтобы они были итальянскими строками. Наконец, мы выполняем то же самое, что и код Ruby, устанавливая для массива итальянских слов и выбирая с помощью inputof 0или 1.
PHP: Ekte/Falsk
die("\r\e\x5bK".(fgetc(STDIN)?Ekte:Falsk));
Поскольку PHP выполняет код только между <?...?>всеми остальными, выводится как есть, поэтому наш код здесь просто печатает перевод строки (чтобы вернуть нас в начало текущей строки) и escape-последовательность ANSI, чтобы очистить до конца текущего строка, за которой следует либо, Ekteлибо в Falskзависимости от того, является ли введенный символ ( 0или 1) истинным или ложным.