Привет Мир - но в алфавитном порядке


24

Этот вызов звучит слишком просто, чтобы его еще не существовало, поэтому дайте мне знать, если это дубликат.

Задание

Распечатать Hello, world!

Правила

Ваш код должен быть в "порядке байтов". Это означает, что каждый символ / байт имеет более высокое или равное значение байта, чем предыдущий символ / байт.

Исключением из этого правила являются пробельные символы, которые могут встречаться где угодно.

В обычные лазейки не допускаются.

Редактировать : Использование встроенных функций / констант, разрешающих их Hello, world!, не допускается.

Редактировать 2 : Вывод может быть (n анонимной) функцией, возвращающей строку, выражением, разрешающим строку, или любым другим способом, который, по вашему мнению, должен быть разрешен.

пример

HWдействителен: 0x48 (H) <= 0x57 (W)
printнедействителен: 0x72 (r) > 0x69 (i)
но PRintдействителен:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t)

Выигрыш

Это поэтому счет - это количество символов / байтов. Чем ниже оценка, тем выше рейтинг.


9
Существует много языков с 1-байтовыми встроенными модулями Hello World. Некоторые могут даже напечатать Hello World для пустой программы.
Деннис

2
Очень тесно связаны. (Разница в том, что эта строка позволяет сортировать каждую строку независимо друг от друга, и в основном она определяется количеством строк.)
Мартин Эндер,

@Dennis Добавил дополнительное правило из-за этого! Спасибо
Чарли

Все еще тривиально в 23, Headsecks и Lenguage, но намного длиннее, чем пара байтов.
Деннис

По умолчанию вывод, как ans = Hello, world!это нормально? В противном случае, MATLAB и Octave не сможет попытаться это ... disp, printfи evalвсе в не алфавитном порядке.
Стьюи Гриффин

Ответы:


15

WhiteSpace, 146 байт

Поскольку все пробелы могут встречаться повсюду, это всего лишь программа Hello World, посвященная гольфу. Поскольку пробелы здесь не отображаются должным образом, возьмите следующую программу и замените все .пробелами, >символами табуляции и ;переводами строки.

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

Заметка

Я не играл в гольф, сделал LukStorms. Его ответ можно найти здесь .


Это не в порядке байтов.
Мэтью Ро

1
Действительно, но пробелы не должны быть в порядке байтов; это могло появиться везде
Лука

3
Ой. Хорошее нарушение правил тогда
Мэтью Ро

В точку. Это также одна из причин, почему это вики сообщества.
Люк

15

Headsecks - 124 82 символа

Спасибо @MartinEnder за то, что он указал мне на маленький приветственный мир!

Headsecks выглядит подходящим языком для этой работы, потому что его мозговая ебля за исключением того, что он принимает каждый персонаж мод 8.

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

Вы можете попробовать это, зайдя сюда: https://repl.it/G2I5/1 , а затем здесь: https://sange.fi/esoteric/brainfuck/impl/interp/i.html


Вам нужно опубликовать реальный интерпретатор Headsecks, который будет его запускать, а не программу Python для преобразования в BF и BF-интерпретатор. Поскольку программа содержит не-ASCII, интерпретатор, на который вы ссылаетесь, должен обрабатывать программы не-ASCII Headsecks.
mbomb007

@ mbomb007 раньше был переводчик, но сейчас он 404-й :( esolangs.org/wiki/Headsecks
Maltysen


@ mbomb007, который обрабатывает кодовые точки Юникода, но не странные уловки обёртывания, которые использует bf helloworld. Я постараюсь найти другой или просто откатить на мой более ранний, более длинный ответ.
Maltysen

Может быть, кто-то должен создать реализацию, а затем попросить Денниса поместить ее в TIO. Кроме того, кто-то должен редактировать Esolangs. Я собирался, но idr мои данные для входа.
mbomb007

13

CJam , 784 байта

"	 







































	 




































































	 











































































	 











































































	 














































































	 











	 	 






















































































	 














































































	 

















































































	 











































































	 



































































	 
"
"	
"')`er~

Попробуйте онлайн!

Ничего не выиграть с таким количеством байтов, но сделать это было весело.

объяснение

Первая большая строка кодируется Hello, world!с использованием только пробелов. Каждый символ отображается на табуляцию, пробел и количество перевода строки, равное его кодовой точке минус 32.

Далее строка транслитерируется путем замены вкладок на 'и перевода строки на ). Это приводит ко многим последовательностям буквального пробела, за которыми следует некоторое количество приращений. Строка вычисляется с ~помощью пробела, увеличивая пробелы и увеличивая их до нужных символов.

Стек выводится неявно в конце программы.


5
Отлично, наконец-то действительно умный ответ!
ETHproductions
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.