var QUESTION_ID=91182,OVERRIDE_USER=26997;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&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(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.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(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\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:290px;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="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><div id="language-list"> <h2>Winners 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><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>
Respuestas:
Excel VBA,
142179175160155 bytesInstrucción:
Establezca la hoja de trabajo de Excel donde se ingresa la celda A1 y la columna C como salida.
Establezca la alineación del texto en la columna C al centro. Escriba y ejecute el siguiente código en la ventana Inmediato:Ungolfed el código:
Salida:
Nota: La fuente y el color son solo una elección personal.
15 bytes guardados debido a la sugerencia de edc65. Gracias.
5 bytes guardados debido a la sugerencia de TaylorScott. Gracias.
fuente
"_"
a T. Como esto[C1]="|":[C2]="/_\":T=[A1]&" ":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+4,3)="VvV":Columns(3).HorizontalAlignment=-4108
[C:C].HorizontalAlignment=-4108:[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+3,3)="VvV
[C:C].HorizontalAlignment=3:[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/___\":Cells(i+3,3)="VvV
Perl 6, 75 bytes
fuente
slurp.chomp.comb
... Perl es raro.{[~] " |\n /_\\\n",|(" |$_|\n"for $_.comb)," |_|\n/___\\\n VvV"}
65 bytesJavaScript (ES6), 54
Sencillo
Prueba
fuente
En realidad, 40 bytes
Sí, se supone que esas nuevas líneas estarán allí.
Pruébalo en línea!
Explicación:
Las nuevas líneas están representadas por
\n
para facilitar el formateofuente
C,
83, 82 bytesPrueba principal:
fuente
F(char*c){for(puts(" |\n /_\\");*c;printf(" |%c|\n",*c++),puts(" |_|\n/___\\\n VvV");}
puts
debe ejecutarse solo una vez, no después de cada unoprintf
. Pero sí, 1 byte guardado, ¡sí!Python 2,
93666261 bytesA FGITW. Probablemente se puede jugar mucho golf. Sugerencias bienvenidas.
Editar: 27 bytes gracias a Mego. 4 bytes gracias a TheBikingViking. 1 byte gracias a user3030010.
¡Pruébelo en línea!
fuente
PHP,
73726962 bytesToma la cadena para imprimir en el fuselaje como el primer argumento de la línea de comando cuando se llama al script.
Mejoras:
join
.Pruébalo en línea!
¡Esto fue divertido! :-)
Llamadas de muestra:
fuente
brainfuck , 179 bytes
Pruébalo en línea!
fuente
Ruby,
5755 bytes-2 bytes por @ValueInk
Versión anterior, supone nueva línea en la entrada:-5 bytes asumiendo que no hay una nueva línea en la entrada, como lo sugiere @manatwork. La entrada sin línea nueva se puede proporcionar, por ejemplo
echo -n
, con likeecho -n hey | ruby rocket.rb
.Ruby,
6260 bytesfuente
.chop
.\\
por\
. (En las cadenas entre comillas simples, los caracteres no se escapan, excepto\'
.Haskell, 58 bytes
fuente
Retina ,
4437 bytes7 bytes gracias a Martin Ender.
Pruébalo en línea!
fuente
Jalea ,
3736 bytesEl mismo puntaje que la entrada existente, peroutiliza una nueva característica divertidaŒB
, la versión vectorizada deŒḄ
, conocida como rebote. Rebote se está ejecutando a través de una lista a su fin y luego de nuevox[:-1]+x[::-1]
por ejemplo:bounce("codegolf") == "codegolflogedoc"
.-1 byte gracias a Dennis (usa la versión vectorizada de bounce)
¿Cómo?
Pruébelo en TryItOnline
fuente
ŒB
es la abreviatura deŒḄ€
.Pyke ,
403735 bytes(Actualizado para trabajar con la última versión)
Pruébalo aquí!
fuente
V ,
41,39 bytesPruébalo en línea!
Tenga en cuenta que, por alguna razón, el intérprete en línea estaba produciendo resultados inesperados, por lo que introduje una versión de depuración en el intérprete en línea que funciona mucho más lento. Debería producir los resultados correctos ahora.
Dado que este programa contiene caracteres no imprimibles, aquí hay un hexdump:
fuente
R, 163 bytes
Sin golf:
Realmente no me gusta el hecho de que tuve que poner algunos espacios en la última línea, pero ¡oye!
fuente
PowerShell v2 +,
595551 bytesPruébalo en línea!
Abusa del valor predeterminado
Write-Output
al final de la ejecución para pegar una nueva línea entre cada elemento, ya que estas son solo cadenas literales en la tubería. El único bit "complicado" es un bucle a través de cada elemento de la entrada$args
como una matriz de caracteres para obtener el cuerpo del cohete.Utiliza nuevas líneas literales como señala ConnorLSW para guardar algunos bytes.
-4 bytes más gracias a Veskah.
fuente
\r
PowerShell, 70 bytes
Establezca $ a como entrada.
Si tiene que tomar una entrada que no sea una variable, se puede canalizar:
Ejemplo:
fuente
Mathematica, 50 bytes
Función anónima. Toma una lista de caracteres como entrada y devuelve una cadena como salida.
fuente
PHP,
10810088 bytes-8 bytes gracias a business cat
-12 bytes gracias a YetiCGN
muy claro
Ideona
fuente
foreach(str_split($a)as$c)
lugar del otro para el bucle. Además, podría poner los $ c directamente en la cadena si usa comillas dobles:echo" |$c| ....";
function f($a){echo' |. /_\\',preg_replace('/./',' |$0|',$a),' |_|/___\\ VvV';}
$a
de$argv[1]
funcionamiento de la línea de comandos hace que sea mucho más corto.C #,
106978074 bytesNo tengo C # 6 para probar lo anterior, pero creo que funcionará
Guardado 7 bytes gracias a Kevin Cruijssen
Gracias a manatwork por señalarme en la dirección correcta para ahorrar 17 bytes.
Guardado 6 bytes gracias a la leche
fuente
using System.Linq;s=>$(" |\n /_\\\n{string.Join("",s.Select(c=>" |"+c+"|\n"))} |_|\n/___\\\n VvV");
( 100 bytes )Select
:" |"+c+"|\n"
→c+"|\n |"
junto con mover el `|` de después de{}
él.\n
los 2 bytes de '. Por lo tanto, ahorrará 5 bytes más al reemplazarlos con nuevas líneas. Sí, si está utilizando Visual Studio, las líneas nuevas por defecto serán de 2 bytes, pero puede abrir el archivo fuente en un editor hexadecimal (Visual Studio tiene uno) y eliminar los caracteres de retorno de carro. La salida seguirá siendo la misma.C,
131, 121 bytesfuente
p=s
a la inicialización y usando elp
interiorscanf
:main(){char s[99],*p=s;scanf("%s",p);P(" |\n /_\\\n");while(*p)P(" |%c|\n",*p++);P(" |_|\n/___\\\n VvV\n");}
Jalea,
3837 bytesPruébalo en línea!
La misma idea que con mi respuesta de Pyth, pero esto probablemente se pueda jugar al golf.
fuente
05AB1E ,
50474337 bytesPruébalo en línea!
Guardado 9 bytes gracias a Adnan.
fuente
IðJ
al comienzo del programa, que también incluye la base del fuselaje.«
antes sin mucha suerte. Sin embargo, esto es mucho mejor.U
y reemplazarX
cons
también guarda un byte :).Kotlin, 68 bytes
Muy claro. Utiliza una cadena multilínea y un reemplazo de expresiones regulares. Esta es una lambda con
(String)->String
tipo. Prueba:fuente
Gema, 50 personajes
Ejecución de muestra:
fuente
BASH
8470Guardado 14 gracias a manatwork
Más de la mitad de los bytes son para agregar la nariz y el motor.
fuente
grep
?(cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~ |\n /_\\\n~;$s~$~/___\\\n VvV~'
. En realidad no veo ninguna razón para usarcat
yecho
tampoco. Sería más corto transformado ensed
solución pura .GolfScript,
6151 bytesMi primer código de golf, espero que sea lo suficientemente bueno.
Explicación
Pruébalo en línea!
fuente
Vim,
4139 bytesAquí la
<End>
es literalmente la tecla "Fin".No imprimibles, entonces:
fuente
GNU sed ,
544948 bytesEsta fue mi primera respuesta a un desafío en este sitio. La solución es simple, principalmente la impresión, por lo que pasé un tiempo asegurándome de que ya no se pueda jugar al golf.
Pruébalo en línea!
Avance rápido medio año después, reescribí el guión, usé un truco como medida y lo reduje a 1 byte más corto. Ahora que es progreso!
Explicación: el espacio del patrón en cada paso se menciona para mayor claridad, dado el ejemplo de entrada "GO"
fuente
Lua,
83, 92 bytesfunction f(x)return' |\n /_\\\n'..x:gsub('(.)',' |%1|\n')..' |_|\n/___\\\n VvV'end
fuente