Ciao mondo, ma in ordine alfabetico


24

Questa sfida sembra troppo semplice per non esistere già, quindi fammi sapere se è un duplicato.

L'obiettivo

Stampa Hello, world!

Le regole

Il tuo codice deve essere in "ordine byte". Ciò significa che ogni carattere / byte ha un valore di byte superiore o uguale al carattere / byte precedente.

Eccezioni a questa regola sono i caratteri degli spazi bianchi , che possono verificarsi ovunque.

Non sono consentite le solite scappatoie .

Modifica : Hello, world!non è consentito utilizzare funzioni incorporate / costanti con risoluzione .

Modifica 2 : l'output può essere una funzione (n anonima) che restituisce la stringa, un'espressione che si risolve nella stringa o qualsiasi altro modo in cui pensi che dovrebbe essere consentito.

esempio

HWè valido: 0x48 (H) <= 0x57 (W)
printnon è valido: 0x72 (r) > 0x69 (i)
ma PRintè valido:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t)

Il punteggio

Questo è quindi il punteggio è il numero di caratteri / byte. Più basso è il punteggio, più alta è la classifica.


9
Esistono molte lingue con i built-in Hello World da 1 byte. Alcuni potrebbero persino stampare Hello World per un programma vuoto.
Dennis,

2
Molto strettamente correlati. (La differenza è che si consente a ciascuna riga di essere ordinata in modo indipendente e che è principalmente segnata dal numero di righe.)
Martin Ender

@Dennis Aggiunta di una regola aggiuntiva per questo! Grazie
Charlie

Ancora banale in 23, Headsecks e Lenguage, ma molto più lungo di un paio di byte.
Dennis,

L'output predefinito ans = Hello, world!è OK? In caso contrario, MATLAB e Octave non saranno in grado di tentare questo ... disp, printfe evalsono tutti in ordine non alfabetico.
Stewie Griffin,

Risposte:


15

WhiteSpace, 146 byte

Poiché tutto lo spazio bianco può verificarsi ovunque, questo è solo il programma Hello World golfizzato. Poiché gli spazi bianchi non vengono visualizzati correttamente qui, prendi il seguente programma e sostituiscili tutti .con spazi, >schede e ;nuove righe.

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

Nota

Non ho giocato a golf, LukStorms. La sua risposta può essere trovata qui .


Non è in ordine di byte.
Matthew Roh,

1
Anzi, ma gli spazi bianchi non dovevano essere in ordine di byte; potrebbe apparire ovunque
Luca

3
Oh. Buon abuso delle regole allora
Matthew Roh,

Esattamente. Questo è anche parte del motivo per cui questo è wiki della comunità.
Luca

15

Headsecks - 124 82 caratteri

Grazie a @MartinEnder per avermi indicato un mondo più piccolo!

Headsecks sembra essere la lingua giusta per il lavoro, perché è brainfuck tranne che prende ogni personaggio mod 8.

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

Puoi provarlo andando qui: https://repl.it/G2I5/1 , quindi qui: https://sange.fi/esoteric/brainfuck/impl/interp/i.html


Devi pubblicare un vero interprete Headsecks che eseguirà questo, non un programma Python da convertire in BF e un interprete BF. Poiché il programma contiene non ASCII, l'interprete a cui si collega deve gestire programmi Headsecks non ASCII.
mbomb007,

@ mbomb007 prima c'era un interprete, ma ora è 404 :( esolangs.org/wiki/Headsecks
Maltysen,


@ mbomb007 che si gestiscono i punti di codice unicode, ma non gli strani trucchi di avvolgimento che il bf helloworld usa. Cercherò di cercarne un altro, o semplicemente di tornare alla mia risposta precedente, più lunga.
Maltysen,

Forse qualcuno dovrebbe creare un'implementazione, quindi Dennis l'ha messa su TIO. Inoltre, qualcuno dovrebbe modificare gli Esolang. Stavo per farlo, ma idr le mie informazioni di accesso.
mbomb007,

13

CJam , 784 byte

"	 







































	 




































































	 











































































	 











































































	 














































































	 











	 	 






















































































	 














































































	 

















































































	 











































































	 



































































	 
"
"	
"')`er~

Provalo online!

Non vincere nulla con quel numero di byte, ma era comunque divertente da fare.

Spiegazione

La prima stringa grande codifica Hello, world!usando solo spazi bianchi. Ogni carattere è mappato su una scheda, uno spazio e un numero di avanzamenti di riga pari al suo punto di codice meno 32.

Successivamente, la stringa viene traslitterata sostituendo le schede con 'e gli avanzamenti di riga con ). Ciò si traduce in molte sequenze di un carattere letterale dello spazio seguito da un numero di incrementi. La stringa viene valutata con~ , spingendo gli spazi e incrementandoli a caratteri corretti.

Lo stack viene implicitamente emesso alla fine del programma.


5
Eccellente, finalmente una risposta davvero intelligente!
ETHproductions
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.