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 octets
Figure
Il y a 16 espaces de fin sur la deuxième ligne. Le programme se termine avec une erreur.
Essayez-le en ligne!
Sol
Il y a 7 espaces sur la première ligne et 9 espaces de fin sur la dernière ligne. Ce programme se termine également avec une erreur.
Essayez-le en ligne!
Explication
Rail recherche une ligne commençant par (notation regex)
\$.*'main'
pour trouver un point d'entrée. Le train (pointeur d'instructions) part alors du$
sud-est en mouvement. Les choses qui ne sont pas accessibles par le train peuvent être complètement ignorées pour le programme. Cela inclut tout ce qui se trouve sur la même ligne que le point d'entrée. Étant donné que le-
sud-est du$
train tourne immédiatement vers l'est, les deux programmes se réduisent simplement à:[...]
désigne un littéral de chaîne et l'o
imprime. Normalement, vous avez besoin d'un#
pour terminer le rail, mais si vous l'omettez, le programme s'arrête quand même (mais se plaint sur STDERR que le train s'est écrasé).la source
> <> , 39 octets
Utiliser
·
pour représenter des espaces.Figure
Essayez-le en ligne!
Sol
Essayez-le en ligne!
Les deux programmes se terminent avec une erreur.
Explication
En écrivant le code verticalement, j'ai pu réutiliser le
g
et ler
entre les deux solutions, ainsi que les guillemets et le>
eto
pour la boucle de sortie.Dans les deux cas, le seul bit qui est exécuté est la colonne sous la
v
, qui pousse les lettres du mot requis sur la pile dans l'ordre inverse.>
Redirige ensuite le pointeur d'instruction vers la droite, où il parcourt leo
, imprimant les caractères jusqu'à ce que la pile soit vide.la source
!__|"druong">o<"figure"
(où_
sont les espaces, et les espaces restants vont simplement à la fin de la ligne).Fission , 37 octets
Utiliser
·
pour représenter des espaces.Figure
Essayez-le en ligne!
Sol
Essayez-le en ligne!
Explication
Fonctionne essentiellement de la même manière que ma> <> réponse (bien que j'aie trouvé celle-ci en premier). Les seules différences sont que
"
les caractères sont imprimés immédiatement dans Fission, c'est pourquoi les mots ne sont pas écrits à l'envers et pourquoi nous devons seulement terminer le programme;
à la fin.la source
réticulaire, 46 octets
Essayez-le en ligne! Cela imprime
ground
.Essayez-le en ligne! Cela imprime
figure
.sol
Code pertinent:
figure
Code pertinent:
la source
Brian & Chuck ,
5553 octetsFigure
Il y a 13 espaces de fin sur chaque ligne.
Essayez-le en ligne!
Sol
Essayez-le en ligne!
Explication
Ah, ça fait un moment depuis la dernière fois que j'ai utilisé Brian & Chuck. Pour rappel, Brian et Chuck sont deux instances de type Brainfuck, qui utilisent le code source de l'autre comme bande. Seul Chuck peut utiliser la commande d'impression
.
,?
commute conditionnellement entre les deux instances, et}
est un peu comme[>]
dans Brainfuck. Les commandes inconnues sont simplement ignorées.Étant donné que les espaces au début des programmes sont ignorés, les deux programmes sont presque identiques. La seule différence vient du fait qu'après la commande de commutation
?
, le pointeur d'instruction se déplace avant d' exécuter la commande suivante. Par conséquent, la première commande sur la bande de Chuck est toujours ignorée. Donc, la seule vraie différence est que le programme sol exécute le}
alors que le programme figure ne le fait pas. Voici donc comment fonctionne le code:la source
WinDbg, 74 octets
Sol
Figure
La figure a 2 espaces de fin. Je pense qu'au moins 2 ou 4 octets devraient être jouables au golf ...
Il fonctionne en écrivant une chaîne dans la mémoire et en affichant 6 caractères. Les caractères de la chaîne sont réorganisés afin que les caractères affichés changent entre les programmes:
Sortie:
la source