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>
Carril , 56 bytes
Figura
Hay 16 espacios finales en la segunda línea. El programa termina con un error.
Pruébalo en línea!
Suelo
Hay 7 espacios en la primera línea y 9 espacios finales en la última línea. Este programa también termina con un error.
Pruébalo en línea!
Explicación
Rail busca una línea que comience con (notación regex)
\$.*'main'
para encontrar un punto de entrada. El tren (puntero de instrucción) comienza desde el$
sureste en movimiento. Las cosas que el tren no puede alcanzar pueden ignorarse por completo para el programa. Esto incluye cualquier cosa en la misma línea que el punto de entrada. Dado que, el-
sureste del$
inmediatamente gira el tren hacia el este, ambos programas simplemente se reducen a:[...]
denota un literal de cadena y loo
imprime. Normalmente, necesita un#
para finalizar el riel, pero si lo omite, el programa termina de todos modos (pero se queja en STDERR de que el tren se estrelló).fuente
> <> , 39 bytes
Utilizando
·
para representar espacios.Figura
Pruébalo en línea!
Suelo
Pruébalo en línea!
Ambos programas terminan con un error.
Explicación
Al escribir el código verticalmente, pude reutilizar el
g
y elr
entre ambas soluciones, así como las comillas y el>
yo
para el bucle de salida.En ambos casos, el único bit que se ejecuta es la columna debajo de
v
, que empuja las letras de la palabra requerida en la pila en orden inverso. Luego,>
redirige el puntero de instrucciones hacia la derecha, donde recorre elo
ciclo e imprime los caracteres hasta que la pila esté vacía.fuente
!__|"druong">o<"figure"
(donde_
hay espacios, y los espacios restantes simplemente van al final de la línea).Fisión , 37 bytes
Utilizando
·
para representar espacios.Figura
Pruébalo en línea!
Suelo
Pruébalo en línea!
Explicación
Funciona básicamente igual que mi respuesta> <> (aunque en realidad encontré esta primero). Las únicas diferencias son que
"
imprime los caracteres inmediatamente en Fission, es por eso que las palabras no se escriben al revés y por qué solo necesitamos terminar el programa;
al final.fuente
reticular, 46 bytes
Pruébalo en línea! Esto imprime
ground
.Pruébalo en línea! Esto imprime
figure
.suelo
Código relevante:
figura
Código relevante:
fuente
Brian y Chuck ,
5553 bytesFigura
Hay 13 espacios finales en cada línea.
Pruébalo en línea!
Suelo
Pruébalo en línea!
Explicación
Ah, ha pasado un tiempo desde la última vez que usé a Brian y Chuck. Como breve recordatorio, Brian y Chuck son dos instancias parecidas a Brainfuck, que usan el código fuente de los demás como cinta. Solo Chuck puede usar el comando de impresión
.
,?
cambia entre las dos instancias condicionalmente y}
es algo así como[>]
en Brainfuck. Los comandos desconocidos simplemente se ignoran.Como los espacios al comienzo de los programas se ignoran, los dos programas son casi idénticos. La única diferencia proviene del hecho de que después del comando de cambio
?
, el puntero de instrucción se mueve antes de ejecutar el siguiente comando. Por lo tanto, el primer comando en la cinta de Chuck siempre se omite. Entonces, la única diferencia real es que el programa terrestre ejecuta}
mientras que el programa de figura no. Así es como funciona el código:fuente
WinDbg, 74 bytes
Suelo
Figura
La figura tiene 2 espacios finales. Siento que al menos 2 o 4 bytes deberían ser golfable ...
Funciona escribiendo una cadena en la memoria y mostrando 6 caracteres de ella. Los caracteres en la cadena se reorganizan para que los caracteres mostrados cambien entre los programas:
Salida:
fuente