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>
Szyna , 56 bajtów
Postać
W drugiej linii znajduje się 16 końcowych spacji. Program kończy się z błędem.
Wypróbuj online!
Ziemia
W pierwszym wierszu znajduje się 7 spacji i 9 ostatnich spacji. Program kończy się również z błędem.
Wypróbuj online!
Wyjaśnienie
Rail szuka linii rozpoczynającej się od (notacja regularna),
\$.*'main'
aby znaleźć punkt wejścia. Pociąg (wskaźnik instrukcji) rozpoczyna się następnie w$
ruchu na południowy wschód. Rzeczy, do których pociąg nie jest osiągalny, można całkowicie zignorować w programie. Obejmuje to wszystko w tej samej linii co punkt wejścia. Ponieważ w-
południowo-wschodniej części$
pociągu natychmiast skręca pociąg na wschód, oba programy ograniczają się do:[...]
oznacza literał ciąg io
drukuje go. Zwykle musisz#
zakończyć szynę, ale jeśli ją pominiesz, program i tak się kończy (ale narzeka na STDERR, że pociąg się rozbił).źródło
> <> , 39 bajtów
Używanie
·
do reprezentowania spacji.Postać
Wypróbuj online!
Ziemia
Wypróbuj online!
Oba programy kończą się z błędem.
Wyjaśnienie
Pisząc kod w pionie, udało mi się ponownie wykorzystać
g
, ar
między obu rozwiązań, a także cytaty i>
io
dla pętli wyjściowej.W obu przypadkach jedynym bitem, który zostanie wykonany, jest kolumna poniżej
v
, która wypycha litery wymaganego słowa na stos w odwrotnej kolejności. Następnie>
przekierowuje wskaźnik instrukcji w prawo, gdzie przechodzi przezo
, drukując znaki, aż stos będzie pusty.źródło
!__|"druong">o<"figure"
(gdzie_
są spacje, a pozostałe spacje po prostu idą na końcu linii).Rozszczepienie , 37 bajtów
Używanie
·
do reprezentowania spacji.Postać
Wypróbuj online!
Ziemia
Wypróbuj online!
Wyjaśnienie
Działa w zasadzie tak samo jak moja> <> odpowiedź (chociaż tak naprawdę znalazłem ją jako pierwszą). Jedyne różnice polegają na tym,
"
że znaki są drukowane natychmiast w Fission, dlatego te słowa nie są pisane do góry nogami i dlatego musimy tylko zakończyć program;
na końcu.źródło
siatkowy, 46 bajtów
Wypróbuj online! To drukuje
ground
.Wypróbuj online! To drukuje
figure
.ziemia
Odpowiedni kod:
postać
Odpowiedni kod:
źródło
Brian & Chuck ,
5553 bajtówPostać
W każdej linii jest 13 końcowych spacji.
Wypróbuj online!
Ziemia
Wypróbuj online!
Wyjaśnienie
Ach, minęło trochę czasu od ostatniego użycia Briana i Chucka. Krótko przypominając, Brian i Chuck są dwoma instancjami podobnymi do Brainfuck, które używają kodu źródłowego innych jako taśmy. Tylko Chuck może korzystać z polecenia drukowania
.
,?
warunkowo przełącza się między dwoma instancjami i}
działa podobnie jak[>]
w Brainfuck. Nieznane polecenia są po prostu ignorowane.Ponieważ spacje na początku programów są ignorowane, oba programy są prawie identyczne. Jedyna różnica polega na tym, że po poleceniu przełączania
?
wskaźnik instrukcji przesuwa się przed wykonaniem następnego polecenia. Dlatego pierwsze polecenie na taśmie Chucka jest zawsze pomijane. Tak więc jedyną prawdziwą różnicą jest to, że program naziemny wykonuje polecenie,}
podczas gdy program figurowy nie. Oto, jak działa kod:źródło
WinDbg, 74 bajty
Ziemia
Postać
Figurka ma 2 spacje końcowe. Wydaje mi się, że przynajmniej 2 lub 4 bajty powinny być grywalne ...
Działa poprzez zapisanie ciągu do pamięci i wyświetlenie z niego 6 znaków. Znaki w ciągu są ponownie rozmieszczane, więc wyświetlane znaki zmieniają się między programami:
Wydajność:
źródło