function answersUrl(a){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(a,b){return"http://api.stackexchange.com/2.2/answers/"+b.join(";")+"/comments?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(a){answers.push.apply(answers,a.items),answers_hash=[],answer_ids=[],a.items.forEach(function(a){a.comments=[];var b=+a.share_link.match(/\d+/);answer_ids.push(b),answers_hash[b]=a}),a.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(a){a.items.forEach(function(a){a.owner.user_id===OVERRIDE_USER&&answers_hash[a.post_id].comments.push(a)}),a.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(a){return a.owner.display_name}function process(){var a=[];answers.forEach(function(b){var c=b.body;b.comments.forEach(function(a){OVERRIDE_REG.test(a.body)&&(c="<h1>"+a.body.replace(OVERRIDE_REG,"")+"</h1>")});var d=c.match(SCORE_REG);d?a.push({user:getAuthorName(b),size:+d[2],language:d[1],link:b.share_link}):console.log(c)}),a.sort(function(a,b){var c=a.size,d=b.size;return c-d});var b={},c=1,d=null,e=1;a.forEach(function(a){a.size!=d&&(e=c),d=a.size,++c;var f=jQuery("#answer-template").html();f=f.replace("{{PLACE}}",e+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link),f=jQuery(f),jQuery("#answers").append(f);var g=a.language;g=jQuery("<a>"+g+"</a>").text(),b[g]=b[g]||{lang:a.language,lang_raw:g,user:a.user,size:a.size,link:a.link}});var f=[];for(var g in b)b.hasOwnProperty(g)&&f.push(b[g]);f.sort(function(a,b){return a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase()?1:a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase()?-1:0});for(var h=0;h<f.length;++h){var i=jQuery("#language-template").html(),g=f[h];i=i.replace("{{LANGUAGE}}",g.lang).replace("{{NAME}}",g.user).replace("{{SIZE}}",g.size).replace("{{LINK}}",g.link),i=jQuery(i),jQuery("#languages").append(i)}}var QUESTION_ID=101275,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=8478,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:350px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table></div><div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table></div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table><table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table>
Rail , 56 байтов
фигура
На второй строке 16 пробелов. Программа завершается с ошибкой.
Попробуйте онлайн!
земля
В первой строке 7 пробелов, а в последней строке 9 пробелов. Эта программа также завершается с ошибкой.
Попробуйте онлайн!
объяснение
Rail ищет строку, начинающуюся с (обозначение регулярного выражения),
\$.*'main'
чтобы найти точку входа. Поезд (указатель инструкций) начинает$
движение с юго-востока. Вещи, которые не достижимы поездом, могут быть полностью проигнорированы для программы. Это включает в себя все, что находится на одной линии с точкой входа. Поскольку-
юго-восток от$
поезда сразу поворачивает на восток, обе программы просто сводятся к:[...]
обозначает строковый литерал иo
печатает его. Обычно вам нужно#
завершить рельс, но если вы пропустите его, программа все равно завершится (но жалуется на STDERR, что поезд разбился).источник
> <> , 39 байт
Использование
·
для представления пространства.фигура
Попробуйте онлайн!
земля
Попробуйте онлайн!
Обе программы завершаются с ошибкой.
объяснение
При написании кода вертикально, я был в состоянии повторно использовать
g
иr
между обоими решениями, а также цитаты и>
иo
для выходного контура.В обоих случаях единственный исполняемый бит - это столбец ниже
v
, который помещает буквы нужного слова в стек в обратном порядке. Затем>
перенаправляет указатель инструкции вправо, где он проходит по циклуo
, печатая символы, пока стек не станет пустым.источник
!__|"druong">o<"figure"
(где_
пробелы, а оставшиеся пробелы просто идут в конце строки).Деление , 37 байт
Использование
·
для представления пространства.фигура
Попробуйте онлайн!
земля
Попробуйте онлайн!
объяснение
Работает в основном так же, как мой>> ответ (хотя я действительно нашел его первым). Единственное отличие состоит в том,
"
что в Fission печатаются символы немедленно, поэтому слова не пишутся вверх ногами и почему нам нужно только завершить программу;
в конце.источник
сетчатый, 46 байтов
Попробуйте онлайн! Это печатает
ground
.Попробуйте онлайн! Это печатает
figure
.земля
Соответствующий код:
фигура
Соответствующий код:
источник
Брайан и Чак ,
5553 байтафигура
В каждой строке 13 пробелов.
Попробуйте онлайн!
земля
Попробуйте онлайн!
объяснение
Ах, прошло много времени с тех пор, как я в последний раз использовал Брайана и Чака. В качестве краткого напоминания, Брайан и Чак - два экземпляра, похожих на Brainfuck, которые используют исходный код друг друга в качестве ленты. Только Чак может использовать команду печати
.
,?
условно переключаться между двумя экземплярами, и}
это как[>]
в Brainfuck. Неизвестные команды просто игнорируются.Поскольку пробелы в начале программ игнорируются, две программы практически идентичны. Единственное отличие заключается в том, что после команды переключения
?
указатель инструкции перемещается перед выполнением следующей команды. Следовательно, первая команда на ленте Чака всегда пропускается. Таким образом, единственное реальное отличие состоит в том, что наземная программа выполняет,}
а программа-фигура - нет. Вот как работает код:источник
WinDbg, 74 байта
земля
фигура
Рисунок имеет 2 пробела. Я чувствую, что по крайней мере 2 или 4 байта должны быть пригодными для игры в гольф ...
Он работает, записывая строку в память и показывая 6 символов из нее. Символы в строке переупорядочены, поэтому показанные символы изменяются между программами:
Выход:
источник