Olá Mundo - mas alfabeticamente

24

Esse desafio parece simples demais para não existir, então, deixe-me saber se é uma duplicata.

A tarefa

Impressão Hello, world!

As regras

Seu código deve estar na "ordem dos bytes". Isso significa que cada caractere / byte possui um valor de byte maior ou igual ao caractere / byte anterior.

Exceções a esta regra são os caracteres de espaço em branco , que podem ocorrer em qualquer lugar.

As brechas usuais não são permitidas.

Editar : Hello, world!Não é permitido o uso de funções / constantes internas para resolver .

Edit 2 : A saída pode ser uma função (n anônima) retornando a string, uma expressão resolvendo a string ou qualquer outra maneira que você acha que deveria ser permitida.

exemplo

HWé válido: 0x48 (H) <= 0x57 (W)
printé inválido: 0x72 (r) > 0x69 (i)
mas PRinté válido:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t)

A pontuação

Isso é então a pontuação é o número de caracteres / bytes. Quanto menor a pontuação, maior a classificação.

Charlie
fonte
9
Existem muitos idiomas com os embutidos Hello World de 1 byte. Alguns podem até imprimir o Hello World para um programa vazio.
Dennis
2
Muito intimamente relacionado. (A diferença é que uma que permite que cada linha a ser ordenada de forma independente, e que é marcado principalmente pelo número de linhas.)
Martin Enders
@Dennis Adicionou uma regra extra por causa disso! Obrigado
Charlie
Ainda trivial em 23, Headsecks e Lenguage, mas muito mais do que alguns bytes.
Dennis
Saída padrão como ans = Hello, world!está tudo bem? Caso contrário, MATLAB e Octave não será capaz de tentar isso ... disp, printfe evalestão todos em ordem não-alfabética.
Stewie Griffin

Respostas:

15

Espaço em branco, 146 bytes

Como todo espaço em branco pode ocorrer em qualquer lugar, esse é apenas o programa Hello World, que é um golfe. Como o espaço em branco não é exibido corretamente aqui, pegue o programa a seguir e substitua todos .por espaços, >por guias e ;por novas linhas.

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

Nota

Eu não joguei isso, LukStorms. Sua resposta pode ser encontrada aqui .

Lucas
fonte
Não está em ordem de bytes.
Matthew Roh
11
De fato, mas o espaço em branco não precisava estar em ordem de bytes; ele poderia aparecer em todos os lugares
Luke
3
Oh. Bom abuso das regras então
Matthew Roh
Exatamente. Isso também faz parte do motivo pelo qual este é um wiki da comunidade.
19417 Luke
15

Headsecks - 124 82 caracteres

Obrigado a @MartinEnder por me indicar um mundo olá menor!

Headsecks parece ser o idioma certo para o trabalho, porque seu cérebro é foda, exceto pelo fato de ser modificado para cada personagem 8.

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

Você pode experimentá-lo aqui: https://repl.it/G2I5/1 , e aqui: https://sange.fi/esoteric/brainfuck/impl/interp/i.html

Maltysen
fonte
Você precisa postar um intérprete real do Headsecks que executará isso, não um programa Python para converter em BF e um intérprete de BF. Como o programa contém não ASCII, o intérprete ao qual você vincula precisa lidar com programas não ASCII Headsecks.
mbomb007
@ mbomb007 costumava haver um intérprete, mas 404s agora :( esolangs.org/wiki/Headsecks
Maltysen
@ mbomb007 que alguém lida com pontos de código unicode, mas não com os truques estranhos que o bf helloworld usa. Vou tentar procurar outro, ou apenas reverter para a minha resposta anterior, mais longa.
Maltysen 22/03/19
Talvez alguém deva criar uma implementação, depois peça ao Dennis para o TIO. Além disso, alguém deve editar o Esolangs. Eu estava indo, mas idr minhas informações de login.
mbomb007
13

CJam , 784 bytes

"	 







































	 




































































	 











































































	 











































































	 














































































	 











	 	 






















































































	 














































































	 

















































































	 











































































	 



































































	 
"
"	
"')`er~

Experimente online!

Não ganhar nada com essa contagem de bytes, mas ainda assim foi divertido de fazer.

Explicação

A primeira cadeia grande codifica Hello, world!usando apenas espaço em branco. Cada caractere é mapeado para uma guia, um espaço e um número de feeds de linha iguais ao seu ponto de código menos 32.

Em seguida, a sequência é transliterada substituindo as guias por 'e as linhas com ). Isso resulta em muitas seqüências de um caractere de espaço literal seguido por um número de incrementos. A string é avaliada ~, empurrando os espaços e incrementando-os para caracteres adequados.

A pilha é emitida implicitamente no final do programa.

Gato de negócios
fonte
5
Excelente, finalmente, uma resposta verdadeiramente inteligente!
ETHproductions 22/03