Construire un polyglotte par ordre alphabétique
Comme le montre TIO , chaque lettre de l'alphabet latin est représentée en matière de langues. Pour chaque lettre, il existe au moins 1 langage de programmation dont le nom commence par cette lettre. Votre tâche est de créer un polyglotte afin de le démontrer.
Votre programme doit être exécutable entre 2 et 26 langues différentes, chacune commençant par une lettre différente. Cependant, si votre programme s'exécute dans \$N\$langues, les langues utilisées doivent avoir le premier \$N\$lettres de l'alphabet comme première lettre de leurs noms. Donc , si votre programme fonctionne en 5 langues, les langues doivent commencer par A
, B
, C
, D
et E
. (par exemple A Pear Tree , BrainSpace , C ++ , Dash and Enlist )
Votre programme ne doit prendre aucune entrée et afficher une chaîne constante: l'alphabet (sans casse, dans l'ordre), mais avec la lettre du nom de la langue supprimée. Ainsi, la langue commençant par A
doit sortir BCDEFGHIJKLMNOPQRSTUVWXYZ
(ou la version minuscule équivalente). La casse n'a pas besoin d'être cohérente pour différentes langues, mais elle le fait entre les exécutions dans la même langue.
Toutes les langues sont un jeu équitable, tant qu'aucune lettre n'est répétée. Cela exclut l'utilisation de versions différentes pour la plupart des langages (par exemple Python 2 vs Python 3), mais ce n'est que du fait d'avoir des lettres uniques. Sérieusement et réellement, par exemple, sont considérés comme des versions différentes, mais peuvent tous deux être utilisés dans la même réponse car ils commencent par des caractères différents.
Si vous utilisez des langues avec des pages de codes personnalisées, alors, comme c'est le cas, les octets doivent correspondre entre les programmes, pas les caractères.
Les soumissions sont notées en fonction du nombre de langues utilisées, avec un bris d'égalité du code le plus court.
Réponses
AsciiDots , Bash , Cardinal , Dash , evil , fish , goruby , Haystack , Implicit , J-uby , ksh , Ly , mksh , Numberwang , OSH , Python 3 , QuadR , Ruby , Super Stack! , Taco , Unefunge-98 (Pyfunge) , V (Vim) , Wumpus , xonsh , yash , Zsh , 1009 octets
9 shells, 3 rubis, quelques langages 2D (et 1D!) Et de nombreux langages que j'ai appris juste pour ce défi. J'ai vraiment apprécié ce défi et j'ai appris de nouvelles langues et fonctionnalités. J'ai aimé trouver un moyen plus court que la simple chaîne brute dans certaines langues (dans certaines langues, générer la chaîne semblait plus longue) et essayer de réutiliser la s
variable autant de fois que possible était également amusant. J'ai également essayé de garder le nombre d'octets aussi bas que possible. Si je trouve l'heure et l'inclinaison, je me demande si je pourrais commencer à ajouter les lettres de l'alphabet à la fin à la place ...
' # "194940711909711999999999999940391270919999999999994039127zaeeeawawawawavaeeaaaaamvawvusb"' #165#1#1;.040;"ZYXWVTSRQPONMLKJIHGFEDCBA"8 3*k,q"ABCDEFGIJKLMNOPQRSTUVWXYZ"o¡72"8:é9:é8++:90+1®;65µ
'\&p"A""K"R"M""Z"R&o;';# x%"ABDEFGHIJKLMNOPQRSTUVWXYZ"x.-$"BCDEFGHIJKLMNOPQRSTUVWXYZ" 0 65 65 if pop dup dup 83 sub if pop outputascii 0 fi pop 1 add dup 91 sub fi "ZYXVUTSRQPONMLKJIHGFEDCBA"#25&o @"ABCDEFGHIJKLMNOPQRSUVWXYZ" s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#' 0//1; try:echo -n;print(s[0:23]+"YZ"); except:print(s[0:15]+s[16:]);"""/.__id__;begin ~:*;puts s.gsub ?J,"";rescue;begin A;puts s.gsub ?G,"";rescue;puts s.gsub ?R,"";end;end;' [ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;';/
('Q'⎕R'')⎕A⋄'\} #<esc>ggdG¬AZ:s/#\|V//"""#\'⍵
AsciiDots
Le code pertinent est:
.-$"BCDEFGHIJKLMNOPQRSTUVWXYZ"
Cela doit être enveloppé dans [
... ]
pour éviter [Extended Brainfuck Type I] de sortir des déchets avant la chaîne désirée à cause de .
.
Essayez-le en ligne!
Frapper
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
Cette première ligne est définie $s
comme l'alphabet complet en majuscules, elle -z $s
est donc fausse et sautée. $status
est non défini, \e
est traité comme un échappement, pas comme un \
et e
, $BASHPID
est défini, $_OVM_PATH
n'est pas et $USER_ID
n'est pas défini, il B
est donc remplacé par la chaîne vide in $s
( ${s/B/}
) et echo
édité.
Essayez-le en ligne!
Cardinal
Le code pertinent est:
x%"ABDEFGHIJKLMNOPQRSTUVWXYZ"x
Les curseurs %
apparaissent à partir du et sont terminés par le x
s. Cela devait être légèrement déplacé pour éviter une sortie supplémentaire.
Essayez-le en ligne!
Tiret
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
Selon Bash, ce premier définit $s
l'alphabet complet en majuscules. c'est -z $s
faux. $status
est vide, \e
est une séquence d'échappement et ne correspond pas e
, mais $-
est vide dans Dash afin que le conditionnel soit satisfait et nous echo
sortons ABC
suivi $s
du préfixe ABCD
supprimé ( ${s#ABCD}
).
Essayez-le en ligne!
mal
Le code pertinent est:
zaeeeawawawawavaeeaaaaamvawvusb
Essayez-le en ligne!
poisson
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
Dans fish, les variables ne sont pas affectées via la s=...
syntaxe donc $s
est vide, ce qui signifie que le premier conditionnel est frappé, la chaîne requise est echo
supprimée puis exit
appelée.
Essayez-le en ligne!
goruby +--disable=gems
Ceci n'est pas disponible sur TIO, mais est distribué avec la source officielle de Ruby et peut être compilé (après les étapes normales autoconf
et ./configure
) avec make goruby
. Testé sur la version ruby 2.8.0dev (2020-08-24T10:24:07Z master 1eb1add68a) [x86_64-linux]
. Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0
0//.../.__id__;begin ~:*&?,;puts s.gsub ?J,"";rescue;begin A;puts s.gsub ?G,"";rescue;puts s.gsub ?R,"";end;end
Meule de foin
Le code pertinent est:
"ABCDEFGIJKLMNOPQRSTUVWXYZ"o
qui o
prononce la chaîne requise.
Essayez-le en ligne!
Implicite
Le code pertinent est:
¡72"8:é9:é8++:90+1®;65µ
Cela pousse la plage de 1
.. 72
et joint les 8 derniers éléments de la pile à une chaîne, duplique le haut de la pile, incrémente tous les points de code de 9, duplique à nouveau la pile, incrémente tous les points de code de la chaîne de 8, pousse 90
vers la pile et concatène tout, inverse la pile, saute les 65 éléments supérieurs puis imprime la pile.
Essayez-le en ligne!
J-uby
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0
0//.../.__id__;begin ~:*&?,;puts s.gsub ?J,"";rescue;begin A;puts s.gsub ?G,"";rescue;puts s.gsub ?R,"";end;end
Cela partage la déclaration de s
avec les shells et autres implémentations de Ruby et et .gsub
s J
de la chaîne avant puts
qu'elle ~:*&?,
ne provoque une erreur.
Essayez-le en ligne!
ksh
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
$s
est défini comme les autres coquilles et $status
est vide, \e
ne correspond pas e
, $-
n'est pas vide, mais $BASHPID
est donc $s
est echo
é enlever K
( ${s/K/}
).
Essayez-le en ligne!
Ly
Le code pertinent est:
&p"A""K"R"M""Z"R&o;
qui efface d'abord la pile, puis pousse les R
anges de A
- K
et M
- Z
, avant d' &o
énoncer le contenu de la pile et de terminer ( ;
).
Essayez-le en ligne!
mksh
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
Comme pour les shells précédents, la première ligne est définie $s
comme l'alphabet complet en majuscules, donc -z $s
est false et sautée. $status
est non défini, \e
est traité comme un échappement, pas comme un \
et e
, $BASHPID
est défini, $_OVM_PATH
n'est pas et $USER_ID
est défini, il M
est donc remplacé par la chaîne vide dans $s
( ${s/M/}
) et l'a renvoyé en écho. Testé sur la version 58-1
.
Numberwang
Le code pertinent est le grand nombre car Numberwang n'est qu'une translittération de brainfuck:
194940711909711999999999999940391270919999999999994039127
>+[+[<]>>+<+]>>+++++++++++++[<.+>-]<+>++++++++++++[<.+>-]
Il y a un peu de travail pour équilibrer les 4
s et 7
les dans le reste du code, en plus de s'assurer que les choses apparaissent dans le bon ordre, mais rien de majeur. Pourrait être en mesure de sauver quelques octets en déplaçant des choses ici ...
Essayez-le en ligne!
SST
Oh regarde, une autre coquille! Comme pour les autres, le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
La principale différence ici est qu'elle $_OVM_PATH
est définie dans OSH, mais pas dans Bash, donc la chaîne correcte est echo
éditée en utilisant tr
pour supprimer le O
.
Essayez-le en ligne!
Python 3
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0
0//1;
try:echo -n;print(s[0:23]+"YZ");
except:print(s[0:15]+s[16:]);"""..."""
Cela partage la déclaration de s
avec les shells et Rubies et est également partagé avec xonsh. Le code dans le try
échouera dans Python ( echo -n
), mais fonctionne dans xonsh donc le code dans except
est appelé, imprimant des tranches de s
.
Essayez-le en ligne!
QuadR
Le code pertinent est:
('Q'⎕R'')⎕A⋄'...'⍵
Dans QuadR, lorsque la dernière ligne contient ⍵
toutes les lignes précédentes, il y a des motifs à faire correspondre et la dernière ligne est une fonction de transformation. Cette fonction de transformation particulière prend juste l'alphabet ⎕A
et ⎕R
remplace 'Q'
avec ''
, le reste de la fonction après le séparateur d'instructions ( ⋄
) est juste pour fermer toutes les autres chaînes / commentaires / littéraux regex et commenter la fin de la fonction.
Essayez-le en ligne!
Rubis
Le code correspondant est partagé avec J-uby et goruby:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0
0//.../.__id__;begin ~:*&?,;puts s.gsub ?J,"";rescue;begin A;puts s.gsub ?G,"";rescue;puts s.gsub ?R,"";end;end
Comme les autres Rubies, s
est partagé à partir des coquilles , mais en Ruby ici, les autres clauses ~:*&?,
et A
soulèvera des exceptions si la déclaration finale est exécutée qui remplace R
dans s
la chaîne vide.
Essayez-le en ligne!
Super pile!
Le code pertinent est:
0 65 65 if pop dup dup 83 sub if pop outputascii 0 fi pop 1 add dup 91 sub fi
Cela pousse 0
et 65
(deux fois) vers la pile, puis if
(ce qui est "alors que le haut de la pile est vrai" - non nul), pop
s l'élément du haut, dup
licate le nouvel élément du haut deux fois, le pousse 83
et le tire de l'élément sub
suivant de la pile vers le bas . Alors le if
haut de la pile est vrai (par exemple, ce n'est pas 83 - S
), pop
il ,, outputascii
pousse 0
et se termine par fi
(puisque le haut de la pile est maintenant 0
). Enfin, pop
push 1
, add
les deux éléments supérieurs ensemble (incrément), dup
licate, push 91
et sub
tract, terminent la boucle, ce qui se produira si le dernier caractère de sortie était 90
( Z
).
Essayez-le en ligne!
TacO
Le code pertinent est:
@"ABCDEFGHIJKLMNOPQRSUVWXYZ"
Essayez-le en ligne!
Unefunge-98 (PyFunge)
Le code pertinent est:
"ZYXWVTSRQPONMLKJIHGFEDCBA"8 3*k,q
Il y a quelques commandes avant ce qui sont exécutées et les choses à pousser la pile, mais au fond , ce qui pousse juste les caractères nécessaires à l' envers, puis pousse 8
et se 3
multiplie eux. La k
commande répète la commande suivante TOS ( 24
) + 1
fois, produisant la chaîne et les q
uits requis.
Essayez-le en ligne!
V (vim) +-v
Le code pertinent est:
<esc>ggdG¬AZ:s/V//"...
Lequel quitte d'abord le mode insertion ( <esc>
), va à la première ligne de texte ( gg
), supprime jusqu'à la dernière ligne ( dG
), insère les lettres de A
à Z
( ¬AZ
), puis remplace finalement V
par la chaîne vide ( :s/V//
). Le reste de la ligne est commenté ( "
).
Essayez-le en ligne!
Wumpus
Le code pertinent est:
...#220#1#1;.
..."ZYXVUTSRQPONMLKJIHGFEDCBA"#25&o @
Les #220#1#1
pousse 220
, 1
, 1
à la pile, puis ;
éjecte du dernier élément , puis des appels .
qui saute l'IP à la ligne 1, char 220 et exécute. Nous devons le faire simplement parce que TacO n'en impose qu'un @
dans le code.
Essayez-le en ligne!
xonsh
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0
0//1;
try:echo -n;print(s[0:23]+"YZ");
except:print(s[0:15]+s[16:]);"""..."""
xonsh est un shell basé sur Python, donc le code est partagé avec Python 3 et utilise la même s
variable que les shells et Rubies. J'ai utilisé une technique que j'ai utilisée dans de nombreux polyglottes avec Ruby pour obtenir ce code. 0//1
Est une division entière et cela echo -n
fonctionne bien puisque xonsh est un shell, donc l'exécution de l'impression de la partie de sous-chaîne requise s
avec la chaîne littérale YZ
concaténée, puis le reste du programme est une """
chaîne.
yash
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
Comme les autres shells, mais en yash, la séquence \e
n'est pas une séquence d'échappement et il en est de même pour la chaîne \e
qui correspond e
, elle $s
est donc imprimée en remplaçant Y
la chaîne vide ( ${s/Y/}
).
Essayez-le en ligne!
Zsh +--continueonerror
Le code pertinent est:
s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";0#'...'
[ -z $s ]&&echo ABCDEGHIJKLMNOPQRSTUVWXYZ&&exit;echo `[ $status = 1 ]&&echo \${s/Z/}&&exit;[ \e =~ e ]&&echo \${s/Y/}&&exit;\[ -z \$- \]&&echo ABC\${s#ABCD}&&exit;[ -z \$BASHPID ]&&echo \${s/K/}&&exit;[ -z $_OVM_PATH ]||echo $s|tr -d O;[ -z $_OVM_PATH ]||exit;[[ -n $USER_ID ]]&&echo \${s/M/}||echo \${s/B/}`;'...' #
Zsh est moins tolérant aux erreurs dans un script que les autres shells et nécessite donc le --continueonerror
drapeau. Dans Zsh $status
est également défini (dans fish aussi) lorsqu'une commande échoue, donc si $status
est 1
, alors $s
est echo
édité, en remplaçant Z
la chaîne vide ( ${s/Z/}
).
Essayez-le en ligne!
Suite de validation.
Arcyou, Braille, COW, Deadfish ~, Emoji, Forked, Gaot ++, Brainfuck hyper-dimensionnel, 3389 octets
"BCDEFGHIJKLMNOPQRSTUVWXYZ";11+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+@1+@1+@1+@1+@1+1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@&------------------------.+.+.+.+.+.+.++.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiciciciicicicicicicicicicicicicicicicicicicicicicich⠆⠄⡒⡆⡘⠀⢕⢍⢅⠽⠵⠭⠥⠝⠕⠍⠅⢼⢴⢬⢤⢜⢔⢌⢄⠼⠴⠬⠤⠜⠌💬ABCDFGHIJKLMNOPQRSTUVWXYZ💬➡MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO Moo MoO MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet bleeeeet
Essayez-le en ligne dans Arcyou , Braille , COW , Deadfish ~ , Emoji , Forked , Gaot ++ et Hyper-Dimensional Brainfuck .
J'expliquerai chaque partie ci-dessous:
Arcyou
"BCDEFGHIJKLMNOPQRSTUVWXYZ";
Imprime implicitement la chaîne et ignore tout par la suite avec un commentaire ;
.
Braille
⠆⠄⡒⡆⡘⠀⢕⢍⢅⠽⠵⠭⠥⠝⠕⠍⠅⢼⢴⢬⢤⢜⢔⢌⢄⠼⠴⠬⠤⠜⠌
Tous les symboles non braille sont ignorés, c'est donc un choix facile.
VACHE
MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO Moo MoO MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo MoO Moo
Tous les jetons non-moo sont ignorés, ce qui facilite également cette tâche. Nous utilisons également un moo-exit ( Moo
) afin que si nous avons accidentellement un jeton moo dans le futur, nous ne l'exécutons pas.
Poisson mort ~
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiciciciicicicicicicicicicicicicicicicicicicicicicich
Utilisé i
pour incrémenter, o
produire et h
arrêter, ce qui signifie que nous n'interprétons pas les jetons futurs.
Emoji
💬ABCDFGHIJKLMNOPQRSTUVWXYZ💬➡
Tous les jetons non emoji sont ignorés, ce qui en fait un autre choix facile.
À bifurcation
11+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+@1+@1+@1+@1+@1+1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@&
Cette langue a beaucoup de jetons, mais s'arrête sur le &
sens que nous pouvons y mettre tôt. Le "BCDEFGHIJKLMNOPQRSTUVWXYZ";
devant d'Arcyou agit comme un no-op.
Gaot ++
baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeet bleeeeet
Tous les jetons non-moutons sont ignorés, ce qui en fait un autre choix facile. J'espère que les vaches et les moutons pourront s'entendre.
Brainfuck hyper-dimensionnel
11+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+@1+@1+@1+@1+@1+1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@1+@&------------------------.+.+.+.+.+.+.++.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.
En gros, brainfuck avec une commande supplémentaire que nous pouvons ignorer. Notez que nous utilisons une partie de la solution Forked comme démarreur.
Aheui (ésotope) , Brainfuck , Toile , 127 octets
밤밦뚜
나타뺘우차빠빠빠
떠벓벓벅멓더희뎌
>+[+[<]>>+<+]>.+>>++++[<++++++>-]<[<+.>-]
ABDEFGHIJKLMNOPQRSTUVWXYZ
Essayez-le en ligne sur Aheui , Brainfuck et Canvas !
Juste une solution triviale de trois langages qui ignorent complètement le code de l'autre.
- Aheui ignore tous les caractères non coréens (Hangul).
- Brainfuck ignore tous les personnages qui ne sont pas des instructions Brainfuck
+-.,<>[]
. - Canvas traite tous les caractères ASCII comme des chaînes littérales et imprime la dernière ligne.
axo , Befunge-93 , toile , Deadfish ~ , 104 octets
"%A","EDC",,,"F">::,"Z"-|
{>B">[[("Z"-#%\{i}}dddci@
cici^icici +1<{c^i}{ci+1<}
ABDEFGHIJKLMNOPQRSTUVWXYZ
Essayez axo en ligne! Essayez Befunge-93 en ligne! Essayez Canvas en ligne! Essayez Deadfish ~ en ligne!
Explications
axo
"%
>B">[[("Z"-#%\
^ +1<
Il active le mode chaîne, pousse le B, puis commence à imprimer et à incrémenter ce B jusqu'à ce que ce soit un Z.
Befunge-93
"%A","EDC",,,"F">::,"Z"-|
@
^ +1<
Imprimez ACDE, appuyez sur un F, imprimez-le et incrémentez-le jusqu'à ce que ce soit un Z.
Toile
La toile imprime la dernière ligne.
Poisson mort ~
{{i}}dddciciciicicic{ci}{ci}
AlphaBeta , brainfuck , chou - fleur , Dreaderef , emotifuck , 413 octets
ebbbkiigZUaCILQ++++++++[>++++++++<-]>+.+<+++++[<+++++>-]<-[->>+.<<]deref16 4deref?7bool?9?7 13chro?add1 21 16deref100-1"abcefghijklmnopqrstuvwxyz"\;(print abdefghijklmnopqrstuvwxyz)🔥😂😂😂😂😂😂😂😂🌚🔥😂😂😂😂😂😂😂😂💯💩🐸🔥😂💞😂💞😂💞😂💞😂💯😂😂😂🌚💯😂😂😂😂😂😂😂🔥💩🐸💯🌚💩🔥🔥😂💞💯💯🐸
Essayez AlphaBeta , brainfuck , chou - fleur , Dreadref , emotifuck en ligne!
Alpha Beta
La partie pertinente est
e ;add 100 to register 1
bbb ;subtract 3 from register 1 (=97)
k ;add 100 to register 2
ii ;add 20 to register 2
g ;add 1 to register 2 (=121)
ZU ;add 10 to position register
;loop: prints 'bcd...xyz'
a ;add 1 to register 1
C ;set value of register to register 1
I ;set value of memory to register 3
L ;print value in memory as char
Q ;if reg1 <= reg2, jump to stored position (10)
Il n'y a pas de commentaires dans AlphaBeta , ce qui signifie que la plupart des lettres majuscules doivent être évitées, car elles cassent des éléments et les erreurs sont imprimées sur stdout .
brainfuck
++++++++[>++++++++<-]>+ ;calculate 65
.+ ;print A and increment
<+++++[<+++++>-]<- ;push 24
[->> <<] ;24 times:
+. ; increment and print
Puisque brainfuck ignore tous les autres personnages, cela ne pose aucun problème supplémentaire.
choufleur
Je n'ai trouvé aucune bonne documentation sur cette langue, donc c'était principalement des essais et des erreurs:
\; ;escaped comment?
(print abdefghijklmnopqrstuvwxyz) ;print string
Dreaderef
La partie pertinente est
deref16 4deref?7bool?9?7 13chro?add1 21 16deref100-1"abcefghijklmnopqrstuvwxyz"\;
Ceci est adapté du Hello World dans la documentation . Les ;
commentaires sur le reste de la ligne.
emotifuck
🔥😂😂😂😂😂😂😂😂🌚🔥😂😂😂😂😂😂😂😂💯💩🐸🔥😂💞😂💞😂💞😂💞😂💯😂😂😂🌚💯😂😂😂😂😂😂😂🔥💩🐸💯🌚💩🔥🔥😂💞💯💯🐸
équivaut au programme brainfuck
++++++++[>++++++++<-]>+.+.+.+.+<+++[<+++++++>-]<[->>+.<<]
AWK , Bash , 68 octets
echo ACDEFGHIJKLMNOPQRSTUVWXYZ
END{print"BCDEFGHIJKLMNOPQRSTUVWXYZ"}
Essayez-le en ligne (AWK)!
Essayez-le en ligne (Bash)!