Hello World - mais par ordre alphabétique


24

Ce défi semble trop simple pour ne pas exister, alors faites-moi savoir s'il s'agit d'un doublon.

La tâche

Impression Hello, world!

Les règles

Votre code doit être dans "l'ordre des octets". Cela signifie que chaque caractère / octet a une valeur d'octet supérieure ou égale à celle du caractère / octet précédent.

Les exceptions à cette règle sont les espaces blancs , qui peuvent apparaître n'importe où.

Les failles habituelles ne sont pas autorisées.

Edit : L'utilisation de fonctions / constantes intégrées se résolvant en Hello, world!n'est pas autorisée.

Edit 2 : La sortie peut être une fonction (n anonyme) renvoyant la chaîne, une expression se résolvant à la chaîne ou toute autre manière qui, selon vous, devrait être autorisée.

exemple

HWest valide: 0x48 (H) <= 0x57 (W)
printn'est pas valide: 0x72 (r) > 0x69 (i)
mais PRintest valide:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t)

La notation

Il s'agit de donc le score est le nombre de caractères / octets. Plus le score est bas, plus le classement est élevé.


9
Il existe de nombreuses langues avec des intégrations Hello World sur 1 octet. Certains peuvent même imprimer Hello World pour un programme vide.
Dennis

2
Très proche. (La différence est que celle-ci permet de trier chaque ligne indépendamment, et qu'elle est principalement notée par le nombre de lignes.)
Martin Ender

@Dennis Ajout d'une règle supplémentaire à cause de cela! Merci
Charlie

Encore trivial en 23, Headsecks et Lenguage, mais beaucoup plus long que quelques octets.
Dennis

La sortie par défaut comme ans = Hello, world!est-ce OK? Dans le cas contraire, Octave et Matlab ne seront pas en mesure de tenter cette ... disp, printfet evalsont dans un ordre non alphabétique.
Stewie Griffin

Réponses:


15

WhiteSpace, 146 octets

Étant donné que tous les espaces blancs peuvent se produire partout, il ne s'agit que du programme Hello World joué au golf. Étant donné que les espaces ne s'affichent pas correctement ici, prenez le programme suivant et remplacez-les tous .par des espaces, des >tabulations et des ;sauts de ligne.

...;..>>..>.>.;..>>>>;...>;...>>>;...>..;..>>.>..;..>>..>.>>;..>>>>>>>;...>..;...>;.;...>>>.;..>>...>>;;..;.;.;>.>;...>>.>.>>;>...>;..;.;;;..>;;;;

Remarque

Je n'ai pas joué au golf, LukStorms l'a fait. Sa réponse se trouve ici .


Ce n'est pas dans l'ordre des octets.
Matthew Roh

1
En effet, mais les espaces ne devaient pas nécessairement être dans l'ordre des octets; il pourrait apparaître partout
Luke

3
Oh. Bon abus des règles alors
Matthew Roh

Exactement. C'est aussi une des raisons pour lesquelles il s'agit d'un wiki communautaire.
Luke

15

Headsecks - 124 82 caractères

Merci à @MartinEnder de m'avoir pointé vers un petit monde bonjour!

Headsecks semble être le bon langage pour le travail, car son brainfuck, sauf qu'il prend chaque caractère mod 8.

 +19AISYchpx£¨°»ÁËÐÞàèðøĀĈĐĘĦīİĸŀňŐŘŠŨųŻƀƈƐƘƠƪƲƺǁǏǒǟǣǫǴǸȃȈȐțȤȫȴȼɀɋɓɜɠɫɱɹʃʉʑʞʣʩʴʺ˂ˏ

Vous pouvez l'essayer en allant ici: https://repl.it/G2I5/1 , puis ici: https://sange.fi/esoteric/brainfuck/impl/interp/i.html


Vous devez publier un interpréteur Headsecks réel qui exécutera cela, pas un programme Python à convertir en BF et un interpréteur BF. Étant donné que le programme contient des fichiers non ASCII, l'interpréteur auquel vous vous connectez doit gérer les programmes Headsecks non ASCII.
mbomb007

@ mbomb007, il y avait autrefois un interprète, mais il s'agit maintenant de 404
Maltysen


@ mbomb007 que l'on gère les points de code unicode, mais pas les trucs d'emballage étranges que le bf helloworld utilise. Je vais essayer d'en chercher une autre, ou simplement revenir à ma réponse précédente, plus longue.
Maltysen

Peut-être que quelqu'un devrait créer une implémentation, puis demander à Dennis de la mettre sur TIO. De plus, quelqu'un devrait éditer Esolangs. J'allais, mais idr mes informations de connexion.
mbomb007

13

CJam , 784 octets

"	 







































	 




































































	 











































































	 











































































	 














































































	 











	 	 






















































































	 














































































	 

















































































	 











































































	 



































































	 
"
"	
"')`er~

Essayez-le en ligne!

Ne rien gagner avec ce nombre d'octets, mais c'était toujours amusant à faire.

Explication

La première grande chaîne encode en Hello, world!utilisant uniquement des espaces. Chaque caractère est mappé sur une tabulation, un espace et un nombre de sauts de ligne égal à son point de code moins 32.

Ensuite, la chaîne est translittérée en remplaçant les tabulations par 'et les sauts de ligne par ). Il en résulte de nombreuses séquences d'un caractère d'espace littéral suivies d'un certain nombre d'incréments. La chaîne est évaluée avec ~, poussant les espaces et les incrémentant en caractères appropriés.

La pile est implicitement sortie à la fin du programme.


5
Excellent, enfin une réponse vraiment intelligente!
ETHproductions
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.