Tâche
Créez un programme ou une fonction qui est valide dans plusieurs langages de programmation et qui, une fois compilé / interprété en tant que langage différent, génère "Hello, World!" dans un langage naturel différent.
Par exemple, une solution valide peut générer Hello World!
(anglais) lorsqu’elle est compilée et s’exécuter en tant que C Hallo Welt!
(allemand) lorsqu’elle est compilée et s’exécuter en tant que C ++ et 你好世界!
(chinois) lorsqu’elle est exécutée en tant que Python.
Règles
Pour éviter toute ambiguïté sur la validité d'une réponse, vous trouverez ci-dessous une liste des versions autorisées de la phrase dans plusieurs langues. La liste est composée de la phrase dans les langues pour lesquelles Google Translate a une traduction de la phrase vérifiée par la communauté (à ce jour). *
La précision de ces traductions est discutable, mais c’est ce que ce défi utilisera. Les chaînes imprimées doivent suivre exactement le format ci-dessous (à l'exception des espaces de début et de fin).
Afrikaans: Hello Wêreld!
Albanian: Përshendetje Botë!
Amharic: ሰላም ልዑል!
Arabic: مرحبا بالعالم!
Armenian: Բարեւ աշխարհ!
Basque: Kaixo Mundua!
Belarussian: Прывітанне Сусвет!
Bengali: ওহে বিশ্ব!
Bulgarian: Здравей свят!
Catalan: Hola món!
Chichewa: Moni Dziko Lapansi!
Chinese: 你好世界!
Croatian: Pozdrav svijete!
Czech: Ahoj světe!
Danish: Hej Verden!
Dutch: Hallo Wereld!
English: Hello World!
Estonian: Tere maailm!
Finnish: Hei maailma!
French: Bonjour monde!
Frisian: Hallo wrâld!
Georgian: გამარჯობა მსოფლიო!
German: Hallo Welt!
Greek: Γειά σου Κόσμε!
Hausa: Sannu Duniya!
Hebrew: שלום עולם!
Hindi: नमस्ते दुनिया!
Hungarian: Helló Világ!
Icelandic: Halló heimur!
Igbo: Ndewo Ụwa!
Indonesian: Halo Dunia!
Italian: Ciao mondo!
Japanese: こんにちは世界!
Kazakh: Сәлем Әлем!
Khmer: សួស្តីពិភពលោក!
Kyrgyz: Салам дүйнө!
Lao: ສະບາຍດີຊາວໂລກ!
Latvian: Sveika pasaule!
Lithuanian: Labas pasauli!
Luxemburgish: Moien Welt!
Macedonian: Здраво свету!
Malay: Hai dunia!
Malayalam: ഹലോ വേൾഡ്!
Mongolian: Сайн уу дэлхий!
Myanmar: မင်္ဂလာပါကမ္ဘာလောက!
Nepali: नमस्कार संसार!
Norwegian: Hei Verden!
Pashto: سلام نړی!
Persian: سلام دنیا!
Polish: Witaj świecie!
Portuguese: Olá Mundo!
Punjabi: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਦੁਨਿਆ!
Romanian: Salut Lume!
Russian: Привет мир!
Scots Gaelic: Hàlo a Shaoghail!
Serbian: Здраво Свете!
Sesotho: Lefatše Lumela!
Sinhala: හෙලෝ වර්ල්ඩ්!
Slovenian: Pozdravljen svet!
Spanish: ¡Hola Mundo! // Leading '¡' optional
Sundanese: Halo Dunya!
Swahili: Salamu Dunia!
Swedish: Hej världen!
Tajik: Салом Ҷаҳон!
Thai: สวัสดีชาวโลก!
Turkish: Selam Dünya!
Ukrainian: Привіт Світ!
Uzbek: Salom Dunyo!
Vietnamese: Chào thế giới!
Welsh: Helo Byd!
Xhosa: Molo Lizwe!
Yiddish: העלא וועלט!
Yoruba: Mo ki O Ile Aiye!
Zulu: Sawubona Mhlaba!
Donc, il y a 74 langues qui peuvent être utilisées.
Critère gagnant
La solution permettant d’exprimer la phrase dans le plus grand nombre de langues est retenue. En cas d'égalité, la solution la plus courte (en octets) l'emporte.
* Les traductions pour le malgache et le maltais étaient marquées comme vérifiées par la communauté, mais étaient clairement incorrectes (l'une était simplement "Hello World!" Et l'autre "Hello dinja!", Mais "Hello!" Se traduit uniquement par "Bongu!"). Ceux-ci ont été exclus. De plus, certaines langues (arabe, hébreu, pachtou, persan et yiddish) se lisent de droite à gauche dans Google Translate, mais lorsqu'elles sont copiées ici, elles se lisent de gauche à droite. J'espère que ça va.
!
, U + FF01) sont différents des autres (!
, U + 0021).Réponses:
23 fusions, 713 octets
Le seul langage que je connaisse vraiment est Befunge, alors au lieu de plusieurs, je viens d’utiliser plusieurs implémentations de Befunge. Je crois que cela est toujours valable en vertu des règles du PPCG, qui considèrent le langage comme étant défini par sa mise en œuvre .
Ce qui est frustrant à propos de Befunge, c’est que, même s’il existe une implémentation de référence open source et que le langage lui-même est extrêmement simple, il n’existe pas un seul interpréteur tiers (à ma connaissance) correspondant au comportement de référence. Chaque implémentation échoue de manière différente.
Sur le plan positif, cela nous donne l’opportunité de développer un code unique qui produira un résultat différent dans presque chaque interprète. Et c'est ce que je tente dans le programme ci-dessus.
Si quelqu'un souhaite vérifier les résultats, j'ai essayé de regrouper les différentes implémentations en catégories, en fonction de leur facilité de mise en œuvre (par exemple, certaines personnes peuvent ne pas être en mesure d'exécuter des fichiers binaires Windows ou peuvent ne pas être disposées à le faire. construire à partir des sources, mais tout le monde devrait pouvoir tester les interprètes en ligne).
Interprètes en ligne
Aucune installation requise. Il suffit généralement de coller le code et de cliquer sur un bouton ou deux. Mais notez que certaines d’entre elles sont assez lentes et peuvent donc nécessiter un peu de temps pour terminer l’exécution.
Le terrain de jeu Befunge d'Alexios - Salamu Dunia!Cliquez sur le Clear...bouton et collez le code dans le champ de saisie. Basculez le Editcommutateur pour activer l'interprète, puis cliquez sur le Runbouton pour lancer l'exécution.
Befungius - Molo Lizwe!Notez que ce site ne fonctionnera probablement pas dans un navigateur autre que Chrome.
Collez le code dans le champ de saisie en veillant à écraser le code existant. Puis cliquez sur le Runbouton pour exécuter.
Interprète Befunge 93 de David Klick - Sannu Duniya!Collez le code dans le champ de saisie Playfield , puis cliquez sur le Runbouton pour lancer l’exécution.
Interprète Befunge-93 d'Ian Osgood - Salut Lume!Collez le code dans le champ de saisie situé sous le Showbouton, en veillant à remplacer le texte existant
jsFunge IDE - Hej Verden!@
. Cliquez sur le Showbouton pour importer le code, puis sur Runpour lancer l'exécution.Fermez d'abord la boîte de dialogue Aide , puis cliquez sur le bouton Ouvrir / Importer de la barre d'outils (deuxième en partant de la gauche), collez le code et cliquez sur OK. Pour l'exécuter, cliquez sur le bouton Mode d' exécution (quatrième à gauche), puis sur Démarrer (cinquième à gauche).
Notez également que quelques-uns des interprètes basés sur la console sont actuellement disponibles sur TIO. Par conséquent, bien qu'ils ne soient pas techniquement des interprètes en ligne, ils peuvent être testés en ligne. Pour ceux qui sont pris en charge (actuellement BEF, FBBI, MTFI et PyFunge), j'ai inclus un essai en ligne! lien à côté de leur entrée.
IDEs Java
Le programme d’exécution Java doit être installé pour ces applications, mais elles devraient théoriquement fonctionner sur n’importe quelle plate-forme. Seulement testé sur Windows cependant.
Ashley Mills 'Visual Befunge Applet - Moien Welt!Il s’agissait au départ d’un applet en ligne qui n’est malheureusement plus disponible, mais vous pouvez toujours télécharger le fichier jar et l’exécuter localement en tant qu’application de bureau. Vous devrez coller le code dans la fenêtre de l' éditeur de programme , puis cliquer sur le Convertbouton, puis sur le Runbouton.
WASABI: Wasabi est un interprète superbe en Bungee Asinine - Hallo Welt!Pour coller le code, cliquez avec le bouton droit de la souris dans le coin supérieur gauche de la fenêtre de l'éditeur (ce doit être tout en haut à gauche) et sélectionnez l' élément de menu Coller . Activez ensuite la case à cocher Pleine vitesse (sinon cela prendra une éternité), puis cliquez sur le Run!bouton pour commencer à exécuter.
YABI93: Encore un autre interprète de Befunge93 - Halo Dunia!Appuyez sur Ctrl+ A, Ctrl+ Vpour coller le code dans la fenêtre de l'éditeur, en veillant à remplacer la source par défaut. Puis cliquez sur le Startbouton pour commencer à exécuter.
IDE Windows
Vous aurez généralement besoin de Windows pour ces applications, bien que dans certains cas, des fichiers binaires puissent être disponibles pour d'autres systèmes d'exploitation. Je ne peux pas promettre que le code fonctionnera sur d'autres plateformes cependant.
BefunExec - Bonjour tout le monde!Vous ne pouvez pas coller le code dans l'éditeur, vous devez donc d'abord l'enregistrer sur le disque quelque part. Ensuite, à partir de l'EDI, utilisez le menu Fichier> Ouvrir pour charger le code à partir du disque, puis sélectionnez le menu Simulation> Exécuter / Pause pour l'exécuter.
BeQunge - Labas pasauli!Appuyez sur Ctrl+ Vpour coller le code, puis cliquez sur le bouton de débogage de la barre d’outils (le rouage bleu) pour commencer l’exécution. Une fois que le panneau du débogueur apparaît, vous voudrez régler la vitesse au maximum - le bouton à droite du curseur - sinon, la fin prendra indéfiniment.
Champignon - Tere maailm!Appuyez sur Ctrl+ Vpour coller le code, puis appuyez sur F5pour l'exécuter.
Visbef: Visual Befunge '93 pour Windows - Bonjour à tous!Vous ne pouvez pas coller le code dans l'éditeur, vous devez donc d'abord l'enregistrer sur le disque quelque part. Ensuite, à partir de l'EDI, appuyez sur Ctrl+ Opour ouvrir le navigateur de fichiers, chargez le code à partir du disque et appuyez sur F5pour l'exécuter.
Applications de la console Windows
Là encore, ils nécessitent généralement Windows, bien que d’autres plates-formes puissent être disponibles, mais leur fonctionnement ne soit pas garanti.
Dans tous les cas, le code devra être enregistré dans un fichier sur le disque et le nom du fichier transmis à l'interpréteur en tant que paramètre de ligne de commande ( source.bf dans les exemples de lignes de commande donnés ci-dessous). Notez également que certains d'entre eux sont techniquement des interpréteurs Befunge-98 et doivent être exécutés avec une option de ligne de commande particulière pour forcer un mode de compatibilité Befunge-93. Si vous ne le faites pas, vous n'obtiendrez pas les bons résultats.
BEFI: Interprète Befunge-93 de Rugxulo - Hei Verden!Ligne de commande:
CCBI: Interprète simultané Befunge-98 conforme - Sveika pasaule!bef93w32 -q source.bf
Ligne de commande:
MTFI: Interprète Magus Technica Funge - Hai dunia!ccbi --befunge93 source.bf
Ligne de commande:
mtfi -3 source.bf
( essayez-le en ligne! )Applications console Python et PHP
Celles-ci nécessitent le langage de script approprié installé - Python ou PHP.
Befungee - Helo Byd!Ligne de commande:
PyFunge - Halo Dunya!befungee.py source.bf
Ligne de commande:
Bephunge - Bonjour monde!pyfunge -v 93 source.bf
( essayez-le en ligne! )Ligne de commande:
php bephunge.phps source.bf
Applications de console source uniquement
Celles-ci devront être construites à partir des sources, ce qui est généralement plus facile avec un environnement de type * nix. Sous Windows, j'utilise le sous-système Windows pour Linux .
BEF: Distribution de référence Befunge-93 - Ciao mondo!Ligne de commande:
cfunge - Sawubona Mhlaba!bef -q source.bf
( essayez-le en ligne! )Ligne de commande:
FBBI: Befunge-98 Flamboyant Intepreter - Hei maailma!cfunge -s 93 source.bf
Ligne de commande:
Champignons - Kaixo Mundua!fbbi -93 source.bf
( essayez-le en ligne! )Ligne de commande:
Rc / Funge-98 - Salom Dunyo!fungi source.bf
Ligne de commande:
rcfunge -93 source.bf
Comment ça fonctionne
Le défi à relever consistait à trouver le plus petit nombre de tests offrant la plus grande différenciation entre les interprètes. En fin de compte, il s’agissait de quatre séquences de tests principales:
Le premier est une mémoire hors limites lue à partir du décalage -1,1. En théorie, cela devrait toujours renvoyer 32 (espace ASCII), mais il y avait en fait 10 variations dans la pratique. Ce test est compliqué par le fait que deux des interprètes tombent en panne après une lecture en dehors des limites; deux ou trois tests dans des cas spéciaux (arrondi de division et séparation d'espace) ont donc été nécessaires pour les forcer à revenir dans les limites.
La deuxième séquence est un test de la fonctionnalité de Befunge-98, plus précisément des instructions
;
et'
. Presque tous les interprètes sont Befunge-93 ou sont exécutés en mode de compatibilité Befunge-93. Ils doivent donc ignorer ces instructions. En pratique, cette séquence a été interprétée de 6 manières différentes.Le troisième test vérifie la plage de cellules mémoire. Dans l'interpréteur de référence, les cellules de mémoire sont signées sur 8 bits, mais les autres implémentations varient de 8 bits à sans limite, certaines signées et d'autres non signées. Cependant, pour les besoins de ce test, nous n'avons dû distinguer que 5 de ces variantes.
La quatrième et dernière séquence est une combinaison de tests de débordement et de division négative. Les interpréteurs se trompent de plusieurs manières, et il existe au moins trois manières différentes de mettre en œuvre les instructions de division et de modulo, mais nous ne tenons compte que de trois combinaisons.
Chacune de ces séquences a renvoyé un nombre unique, et ces quatre numéros ont été combinés (via des tables de calcul et de conversion de base) afin de produire une valeur finale comprise entre 0 et 22. Cette valeur pourrait ensuite être utilisée comme index pour rechercher le message réel. afficher.
la source
3y
).16 langues, 1363 octets
Essayez-le en ligne!
(utilisez "changer de langue" pour changer de langue)
Python 3 = Halo Dunia! (Indonésien)
Python 2 = Hej Verden! (Danois)
Python 1 = Hai Dunia! (Malais)
C (gcc) = Helo Byd! (Gallois)
C ++ (gcc) = Halo Dunya! (Sundanese)
Objectif C (clang) = Hallo Welt! (Allemand)
Brainfuck = Bonjour tout le monde! (Anglais, évidemment)
Befunge-93 = Salut Lume! (Roumain)
Ruby = Moien Welt! (Luxembourgeois)
Bash = Salom Dunyo! (Ouzbek)
Befunge-98 (PyFunge) = Kaixo Mundua! (Basque)
Unefunge-98 (PyFunge) = Sannu Duniya! (Haoussa)
Cardinal = Hallo Wereld! (Néerlandais)
Alphuck = Ciao mondo! (Italien)
> <> = Moni Dziko Lapansi! (Chichewa)
Fission = Pozdrav svijete! (Croate)
Tous les conseils de golf sont les bienvenus (surtout sur le Brainfuck) !!
Merci à @JonathanFrech pour -1 octet! Merci également à @ovs pour -40 octets!
Comment (idées générales, j'ai en fait oublié des détails) ??
Les langues peuvent être classées en quatre groupes:
Les langues Macro sont considérées
#
comme le début d'une directive de préprocesseur. Celles-ci sont utilisées pour trois raisons: héberger du code pour d'autres groupes, distinguer les langages de macro et définir une macro. Tous les trois sont utilisés//
comme commentaires, nous enregistrons ensuite le code des autres groupes. En outre, la barre oblique inverse continue le commentaire dans ces langues.Les langues de commentaires sont considérées
#
comme le début d'un commentaire. Le bizarre ici est les guillemets triples, qui distinguent les Pythons de Ruby de Bash. Et pour distinguer Python 1 de 2 de 3, nous utilisons une caractéristique distinctive dans les trois, avec un tableau de sorties. Oh oui, il y a aussi ça__END__
. Ceci est utilisé pour terminer le code de certaines langues (je ne sais pas exactement lesquelles) des langues de commentaires.Les langues dimensionnelles se distinguent de manière difficile à expliquer. Il faut connaître les spécificités de chaque langue pour le comprendre. Par exemple,
#
n’est qu’un saut dans les fongoïdes, alors qu’il fait différentes choses dans les autres langues. Le code est éparpillé partout pour ces langues.Et finalement, nous arrivons aux langues vulgaires. Ces deux ignorent tout ce qui n'est pas dans leur ensemble de caractères valides. Un numéro d'équilibre doit être joué avec ces langues et les autres, car le code contient déjà des caractères dans les jeux de caractères.
la source
"abcabcabc"[n::3] -> "aaa" for n = 0, "bbb" for n = 1
. Je pense qu'il est probablement possible de le trancher et de sauvegarder des octets en incluant les caractères dupliqués dans le découpage (comme H et!).["Hai dunia!","Hej Verden!","Halo Dunia!"]
bouclier les virgules!+[++[<+++>->+++<]>+++++++]<<<--.<.<--..<<---.<+++.<+.>>.>+.>.>-.<<<<+.
pour votre partie BF? ( source )15 langues, 532 octets
Essayez-le en ligne!
Kaixo Mundua!
dans Befunge-93Hej Verden!
dans la fissionTere maailm!
dans Unfunge-98Hei maailma!!
dans Befunge-98Hai dunia!
dans> <>Hola món!
en rubisHola Mundo!
dans GolfScriptHallo Welt!
en bashNdewo Ụwa!
en kshCiao mondo!
en tiretMoien Welt!
en zshHei Verden!
en cendresOlá Mundo!
au cardinalHello World!
dans le brainfuck, courtoisie de primo .Helo Byd!
dans les espaces blancsExplication
La ligne 1 distingue cinq esolangs 2D:
><>
se lit#
comme un miroir, tourne à gauche, imprime"Hai dunia!"
et plante (@
). Tous les Funges le lisent comme un trampoline et vont à droite.;
, imprimeKaixo Mundua!
et quitte (@
).;
au second, puis du troisième;
au quatrième.w
est un NOP pour Befunge-98, impressionHei maailma!
.w
reflète le pointeur d'instruction dans Unefunge-98, l'impressionTere maailm!
.R"Hej Verden!";
est exécuté. (Un autre pointeur d’instruction commence à partir de l’D
int__END__
, mais il ne meurt pas, puis meurt à l’;
inttrue;
.)Ruby voit
`true #{puts'Hola món!'}`
, alors__END__
.GolfScript voit
`
, ensuitetrue
(NOP), puis un commentaire; alors__END__
(NOP); then"Hola Mundo!" puts
(ceci est exécuté); puiscase
(NOP), puis`
(se bloque sur une pile vide).Les shells voient un commentaire, puis un appel à
true
(NOP), puis des invocations à des commandes inconnues__END__
et"Hola Mundo!"
(quelle erreur pour STDERR mais l'exécution continue), puis l'case
instruction qui distingue en fonction de la première lettre du nom du processus en cours.Cardinal est un autre esolang 2D qui commence à la
%
, en envoyant 4 adresses IP vers le haut, le bas, la gauche et la droite. Ils sont tous tués par lesx
commandes environnantes , mais on imprime"Olá Mundo!"
avant de mourir.Le code brainfuck est celui de primo, préfixé par
++
pour contrecarrer les tirets dansps -p$$ -oargs=
.Les espaces dans mon code sont exécutés en tant que programme Whitespace
qui imprime
Helo Byd!
EDIT : J'ai oublié que l'ajout de
UDLR
caractères interrompt le programme Fission, j'ai donc changé les chaînes pour les éviter.la source
#define
n'est pas une chose en D ... qui empêche de beaucoup polygloter). En outre, j'ai vraiment besoin d'apprendre les espaces.4 langues, 75 octets
Python -
Hai dunia!
Perl -
Helo Byd!
Ruby -
Hola món!
Haystack -
Hej Verden!
la source
7 langues, 221 octets
Puisque ce programme contient des caractères méchants, voici un xxd:
Përshendetje Botë!
- Essayez-le en ligne!Hallo Wereld!
- Essayez-le en ligne!ሰላም ልዑል!
- Essayez-le en ligne!Hello Wêreld!
- Essayez-le en ligne!Kaixo Mundua!
- Essayez-le en ligne!مرحبا بالعالم!
- Essayez-le en ligne!Բարեւ աշխարհ!
- Essayez-le en ligne!la source
<?='مرحبا بالعالم!';die?>
? C'est valide PHP (essentiellement le même que<?php echo ... ?>
),5 langues, 168 octets
Je pense que les langues à deux dimensions sont intéressantes.
> <> impressions
Tere maailm!
Befunge-98 impressions
Hej Verden!
Cire d'abeille impressions
Sawubona Mhlaba!
cardinales impressions
Helo Byd!
Fission
Hello World!
Essayez-le en ligne! (Cardinal)
la source
//
les commentaires sont écrits dans de nombreuses langues.*/\_
et peuvent être redirigées dans des directions fixes ou par miroirs ou rotation. Voir ici pour plus.;
il n'est pas nécessaire de placer le deuxième backtick après. L'abeille vient de sortir du nid d'abeille vers la droite.2 langues, 16 caractères, 24 octets
Eh bien, au moins, c'est plus court que les deux chaînes.
05AB1E -
שלום עולם!
Aidez-moi, WarDoq! -
Hello World!
Aidez-moi, WarDoq! peut ajouter deux nombres et tester les nombres premiers, il est donc considéré comme un langage de programmation valide par cette méta publication .
la source
3 langues,
67 à62 octetsPour être admissible à cette prime (100 rep).
Ajoutez ++: essayez-le en ligne!
Foo: Essayez-le en ligne!
Somme: Essayez-le en ligne!
Explication
Ajouter ++
Ajouter ++ voit:
"
x
Chaîne de sortie ""Réglez y sur une autre chaîne"
"idk quelque chose de bizarre, je vais erreur"
Foo
Foo voit:
"Oo, citations, je vais sortir ceux-là."
"Euh ... quelque chose à propos d'un mode? Idk, je vais me tromper."
Somme
Somme voit bien ceci:
Chaque colonne est convertie en points de code, puis on en soustrait 32, puis chacune est prise modulo 95. Cela correspond à ces caractères, qui affichent "Hei Verden!"
la source
4 langues, 138 octets
Essayez-le en ligne!
Py1, Py2, Py3, Proton; merci à M. Xcoder; traduit de la réponse de Zacharý
la source
4 langues, 115 octets
Perl 5 donne
Hallo Wereld!
- TIORuby donne
Hello World!
- TIOPython 2 donne
Hej Verden!
- TIOPython 3 donne
Hei Verden!
- TIOla source
print (((“b”+”0"==0)and eval('"Hallo Wereld!"'))or(0and"Hello World!”or((1/2and"Hei"or"Hej")+" Verden!")));
Quatre langues, 650 octets
Java donne "Salut Lume!" Essayez le!
SILOS donne "Hola Mundo" Essayez-le!
Brainfuck donne "Ciao mondo!" Essayez le!
(Le code alphuck est modifié à partir de la page Esolangs sur Alphuck )
Alphuck donne "Bonjour le monde!" Essayez le!
La ligne commençant par \ u000A est le code Java. Le code de la première ligne est le code Alphuck, qui ignorera le reste du code (tant que "p" et "s" sont équilibrés. La ligne pertinente pour SIL / SILOS est "print Hola Mundo" et le code brainfuck est à la fin et ignorera le reste du code.
la source
+>++>+>+++[+++++[>+++++++++++>++++<<-]+++<]>>--.>+.>.>-.>.<--.++.-.<+++.>+.>+.
Utilisation de la séquence d'octets [69, 104, 97, 112, 32]5 langues, 213 octets
J'ai décidé d'essayer d'écrire une petite réponse moi-même.
Langues:
C et C ++ voient le code comme:
auto i=.5;
est (en effet) égal àint i=0;
C, mais égal àdouble i=0.5;
C ++.Essayez-le en ligne! (comme C)
Essayez-le en ligne! (en C ++)
Python 3 voit le code comme:
Essayez-le en ligne!
Le langage de script OFP voit:
La fission voit:
Essayez-le en ligne!
la source
3 langues,
184181 octetsNe fonctionne qu'une seule fois - vous devez effacer la liste pour la réexécuter.
Scratch 1.4:
Helo Byd!
Scratch 2.0:
Hello world!
Scratch 3.0 beta à partir du moment de cette réponse:
Hai dunia!
Explication
Dans Scratch 1.4, l'ajout d'un booléen à une liste ajoute
1
ou0
, mais dans les versions 2.0 et supérieures, il ajoutetrue
oufalse
, mais lorsque vous vérifiez si l'élément est égal à1
avec <[] = []>, il renvoie true si l'élément est un1
outrue
, nous ajoutons donc une autre lettre et vérifions cela.Dans Scratch 3.0, les listes ont une taille maximale de 200 000 éléments. Nous ajoutons donc un grand nombre d’éléments et voyons si la liste est aussi longue.
la source
3 langues, 61 octets
Ajouter ++ sorties
Hai dunia!
Sorties de gelée
Hello World!
Foo sorties
Helo Byd!
Ce n’est pas parce que j’ai réglé la prime que je ne peux pas participer: D (ab) utilise la brillante astuce que Conor a trouvée pour Add ++
Comment ça fonctionne
Ajouter ++
Gelée
Les commentaires dans Jelly peuvent être formés avec la syntaxe
ḷ“comment”
, c'est-à-dire que le code Add ++ et Foo est ignoré. Le code qui est réellement exécuté par Jelly estFoo
Foo ignore tous les caractères ici, sauf ceux
"Helo Byd!"
qui, comme ils sont entre guillemets, sont affichés.la source