Witaj świecie - ale alfabetycznie


24

To wyzwanie wydaje się zbyt proste, aby jeszcze nie istnieć, więc daj mi znać, jeśli jest to duplikat.

Zadanie

Wydrukować Hello, world!

Zasady

Twój kod musi być w „kolejności bajtów”. Oznacza to, że każdy znak / bajt ma wyższą lub równą wartość bajtu niż poprzedni znak / bajt.

Wyjątkiem od tej reguły są białe znaki, które mogą wystąpić w dowolnym miejscu.

Te zwykłe luki nie są dozwolone.

Edycja : Używanie wbudowanych funkcji / stałych przeliczających na Hello, world!jest niedozwolone.

Edycja 2 : Dane wyjściowe mogą być (anonimową) funkcją zwracającą ciąg znaków, wyrażeniem rozstrzygającym ciąg lub innym sposobem, który Twoim zdaniem powinien być dozwolony.

przykład

HWjest ważny: 0x48 (H) <= 0x57 (W)
printjest nieprawidłowy: 0x72 (r) > 0x69 (i)
ale PRintjest ważny:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t)

Punktacja

To jest więc wynikiem jest liczba znaków / bajtów. Im niższy wynik, tym wyższy ranking.


9
Istnieje wiele języków z 1-bajtowymi wbudowanymi funkcjami Hello World. Niektórzy mogą nawet wydrukować Hello World dla pustego programu.
Dennis

2
Bardzo blisko spokrewniony. (Różnica polega na tym, że pozwala ona na niezależne sortowanie każdej linii i że jest ona głównie punktowana według liczby linii.)
Martin Ender

@Dennis Z tego powodu dodano dodatkową regułę! Dzięki
Charlie

Nadal trywialny w 23, Headsecks i Lenguage, ale znacznie dłużej niż kilka bajtów.
Dennis

Domyślne wyjście, czy ans = Hello, world!to w porządku? W przeciwnym razie, MATLAB i Octave nie będzie mógł próbować tego ... disp, printfa evalto wszystko w porządku nie alfabetycznym.
Stewie Griffin

Odpowiedzi:


15

WhiteSpace, 146 bajtów

Ponieważ wszystkie białe znaki mogą występować wszędzie, jest to po prostu program Hello World. Ponieważ białe znaki nie są tutaj wyświetlane poprawnie, weź następujący program i zastąp .je spacjami, >tabulatorami i ;znakami nowej linii.

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

Uwaga

Nie grałem w golfa, tak zrobił LukStorms. Jego odpowiedź można znaleźć tutaj .


Nie jest w kolejności bajtów.
Matthew Roh,

1
Rzeczywiście, ale białe znaki nie musiały być w kolejności bajtów; może pojawić się wszędzie
Łukasz

3
O. Dobre nadużycie zasad
Matthew Roh

Dokładnie. To także część powodu, dla którego jest to wiki społeczności.
Łukasza

15

Zagłówki - 124 82 znaków

Dzięki @MartinEnder za skierowanie mnie do mniejszego świata cześć!

Headsecks wydaje się być właściwym językiem dla tej pracy, ponieważ jego pieprzenie mózgu jest takie, że wymaga każdej postaci mod 8.

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

Możesz spróbować, przechodząc tutaj: https://repl.it/G2I5/1 , a następnie tutaj: https://sange.fi/esoteric/brainfuck/impl/interp/i.html


Musisz opublikować rzeczywistego interpretera Headsecks, który go uruchomi, a nie program Pythona do konwersji na BF i interpretera BF. Ponieważ program zawiera pliki inne niż ASCII, interpreter, do którego prowadzi łącze, musi obsługiwać programy Headsecks inne niż ASCII.
mbomb007

@ mbomb007 był kiedyś tłumacz, ale teraz 404s
Maltysen


@ mbomb007, który obsługuje Unicode, ale nie dziwne sztuczki owijania, których używa bf helloworld. Spróbuję poszukać innego lub po prostu cofnąć się do mojej wcześniejszej, dłuższej odpowiedzi.
Maltysen

Może ktoś powinien stworzyć implementację, a potem poprosić Dennisa o włączenie jej do TIO. Ponadto ktoś powinien edytować Esolangi. Miałem zamiar, ale idr moje dane logowania.
mbomb007

13

CJam , 784 bajty

"	 







































	 




































































	 











































































	 











































































	 














































































	 











	 	 






















































































	 














































































	 

















































































	 











































































	 



































































	 
"
"	
"')`er~

Wypróbuj online!

Nic nie wygrywając z tą liczbą bajtów, ale wciąż było fajnie.

Wyjaśnienie

Pierwszy duży ciąg koduje Hello, world!przy użyciu tylko białych znaków. Każdy znak jest odwzorowany na tabulator, spację i liczbę znaków linii równą jego kodowi minus 32.

Następnie ciąg jest transliterowany przez zamianę tabulatorów 'i podawanie linii na ). Powoduje to wiele sekwencji dosłownego znaku spacji, po których następuje pewna liczba przyrostów. Ciąg jest ewaluowany ~, przesuwając spacje i zwiększając je do odpowiednich znaków.

Stos jest domyślnie wyprowadzany na końcu programu.


5
Doskonała, w końcu naprawdę sprytna odpowiedź!
ETHproductions
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.