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>
Antworten:
Excel VBA,
142179175160155 BytesAnweisung:
Legen Sie das Arbeitsblatt von Excel fest, in dem Zelle A1 eingegeben wird, und Spalte C als die Ausgabe.
Stellen Sie die Textausrichtung in Spalte C auf Mitte ein. Schreiben Sie den folgenden Code und führen Sie ihn im Direktfenster aus:Ungolfed den Code:
Ausgabe:
Hinweis: Die Schriftart und die Farbe sind nur eine persönliche Wahl.
15 Bytes gespart aufgrund des Vorschlags von edc65. Vielen Dank.
5 Bytes gespart aufgrund des Vorschlags von TaylorScott. Vielen Dank.
quelle
"_"
zu T. hinzufügen . Gefällt[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
quelle
slurp.chomp.comb
... Perl ist komisch.{[~] " |\n /_\\\n",|(" |$_|\n"for $_.comb)," |_|\n/___\\\n VvV"}
65 BytesJavaScript (ES6), 54
Einfach
Prüfung
quelle
Eigentlich 40 Bytes
Ja, diese Zeilenumbrüche sollen da sein.
Probieren Sie es online!
Erläuterung:
Zeilenumbrüche werden
\n
zur einfacheren Formatierung durch dargestelltquelle
C,
83, 82 BytesTestleitung:
quelle
F(char*c){for(puts(" |\n /_\\");*c;printf(" |%c|\n",*c++),puts(" |_|\n/___\\\n VvV");}
puts
nicht nach jedem, sondern nur einmal ausgeführt werden mussprintf
. Aber ja, 1 Byte gespeichert, yay!Python 2,
93666261 BytesEin FGITW. Kann wahrscheinlich stark golfen werden. Vorschläge sind willkommen.
Edit: 27 Bytes dank Mego. 4 Bytes dank TheBikingViking. 1 Byte dank user3030010.
Probieren Sie es online!
quelle
PHP,
73726962 BytesLegt fest, dass die Zeichenfolge beim Aufruf des Skripts als erstes Argument in der Befehlszeile auf den Rumpf gedruckt wird.
Verbesserungen:
join
.Probieren Sie es online!
Das hat Spaß gemacht! :-)
Beispielanrufe:
quelle
Brainfuck , 179 Bytes
Probieren Sie es online!
quelle
Ruby,
57-55Bytes-2 Bytes von @ValueInk
Alte Version, setzt Newline in der Eingabe voraus:-5 Bytes, wenn angenommen wird, dass die Eingabe keine neue Zeile enthält, wie von @manatwork vorgeschlagen. Newline-less Input kann zum Beispiel mit
echo -n
like versehen werdenecho -n hey | ruby rocket.rb
.Ruby,
6260 Bytesquelle
.chop
.\\
mit\
. (In Strings in einfachen Anführungszeichen werden die Zeichen mit Ausnahme von\'
.Haskell, 58 Bytes
quelle
Retina ,
4437 Bytes7 Bytes dank Martin Ender.
Probieren Sie es online!
quelle
Jelly ,
3736 BytesGleiche Punktzahl wie bei vorhandenem Eintrag, jedochmit einer unterhaltsamen neuen Funktion -ŒB
der vektorisierten Version vonŒḄ
Bounce. Das Bouncen durchläuft eine Liste bis zu ihrem Ende und kehrt dann zurück,x[:-1]+x[::-1]
zB:bounce("codegolf") == "codegolflogedoc"
.-1 Byte dank Dennis (benutze die vektorisierte Version von Bounce)
Wie?
Testen Sie es auf TryItOnline
quelle
ŒB
ist eine Abkürzung fürŒḄ€
.Pyke ,
403735 Bytes(Aktualisiert, um mit der neuesten Version zu arbeiten)
Probieren Sie es hier aus!
quelle
V ,
41,39 BytesProbieren Sie es online!
Beachten Sie, dass der Online-Interpreter aus irgendeinem Grund zu unerwarteten Ergebnissen führte. Ich habe daher eine Debug-Version auf den Online-Interpreter übertragen, die viel langsamer ausgeführt wird. Es sollte jetzt die richtigen Ergebnisse liefern.
Da dieses Programm nicht druckbare Zeichen enthält, ist hier ein Hexdump:
quelle
R 163 Bytes
Ungolfed:
Ich mag es nicht wirklich, dass ich in der letzten Zeile ein Leerzeichen setzen musste, aber hey!
quelle
PowerShell v2 +,
595551 ByteProbieren Sie es online!
Missbraucht den Standardwert
Write-Output
am Ende der Ausführung, um eine neue Zeile zwischen jedes Element zu setzen, da dies alles nur wörtliche Zeichenfolgen in der Pipeline sind. Das einzige "knifflige" Bit ist eine Schleife durch jedes Element der Eingabe$args
als Zeichen-Array, um den Körper der Rakete zu erhalten.Verwendet wörtliche Zeilenumbrüche, auf die ConnorLSW hingewiesen hat, um einige Bytes zu sparen.
-4 weitere Bytes dank Veskah.
quelle
\r
PowerShell, 70 Byte
Setze $ a auf input.
Wenn eine andere Eingabe als eine Variable erforderlich ist, kann Folgendes eingegeben werden:
Beispiel:
quelle
Mathematica, 50 Bytes
Anonyme Funktion. Nimmt eine Liste von Zeichen als Eingabe und gibt eine Zeichenfolge als Ausgabe zurück.
quelle
PHP,
10810088 Bytes-8 bytes dank business cat
-12 Bytes dank YetiCGN
ziemlich einfach
Ideone
quelle
foreach(str_split($a)as$c)
anstelle der anderen for-Schleife verwenden. Sie können $ c auch direkt in die Zeichenfolge einfügen, wenn Sie doppelte Anführungszeichen verwenden:echo" |$c| ....";
function f($a){echo' |. /_\\',preg_replace('/./',' |$0|',$a),' |_|/___\\ VvV';}
$a
mit$argv[1]
und Ausführen von der Befehlszeile aus wird es viel kürzer.C #
106978074 BytesIch habe kein C # 6, um das Obige zu versuchen, aber ich glaube, es wird funktionieren
7 Bytes dank Kevin Cruijssen gespeichert
Vielen Dank an Manatwork, dass ich in die richtige Richtung gewiesen habe, um 17 Bytes zu sparen
6 Bytes dank Milch gespart
quelle
using System.Linq;s=>$(" |\n /_\\\n{string.Join("",s.Select(c=>" |"+c+"|\n"))} |_|\n/___\\\n VvV");
( 100 Bytes )Select
:" |"+c+"|\n"
→c+"|\n |"
zusammen mit dem vorangestellten `|`{}
.\n
2 Byte. Sie sparen also 5 weitere Bytes, indem Sie sie durch neue Zeilen ersetzen. Ja, wenn Sie Visual Studio verwenden, sind die neuen Zeilen standardmäßig 2 Byte groß. Sie können die Quelldatei jedoch in einem Hex-Editor öffnen (Visual Studio hat einen) und die Wagenrücklaufzeichen löschen. Die Ausgabe bleibt unverändert.C
131, 121 Bytesquelle
p=s
in die Initialisierung wechseln und dasp
Innere verwendenscanf
:main(){char s[99],*p=s;scanf("%s",p);P(" |\n /_\\\n");while(*p)P(" |%c|\n",*p++);P(" |_|\n/___\\\n VvV\n");}
Jelly,
3837 BytesProbieren Sie es online!
Die gleiche Idee wie bei meiner Pyth-Antwort, aber das kann wahrscheinlich Golf gespielt werden.
quelle
05AB1E ,
50474337 BytesProbieren Sie es online!
Dank Adnan 9 Bytes gespart.
quelle
IðJ
zu Beginn des Programms über einen Ansatz nachgedacht , der auch die Basis des Rumpfes enthält.«
früher ohne viel Glück versucht . Das ist aber viel besser.U
und ErsetzenX
durchs
speichert auch ein Byte :).Kotlin, 68 Bytes
Ziemlich einfach. Verwendet mehrzeilige Zeichenfolge und einen Regex-Ersatz. Dies ist ein Lambda mit
(String)->String
Typ. Prüfung:quelle
Gema, 50 Zeichen
Probelauf:
quelle
BASH
847014 dank Handarbeit gerettet
Über die Hälfte der Bytes ist für das Hinzufügen der Nase und des Motors bestimmt.
quelle
grep
?(cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~ |\n /_\\\n~;$s~$~/___\\\n VvV~'
. Eigentlich sehe ich keinen Grundcat
und auchecho
keinen. Wäre kürzer in reinesed
Lösung umgewandelt.GolfScript,
6151 BytesMein erster Code Golf, ich hoffe es ist gut genug.
Erläuterung
Probieren Sie es online!
quelle
Vim,
4139 BytesHier
<End>
ist die buchstäblich die "End" -Taste.Unbedruckbares also:
quelle
GNU sed ,
544948 BytesDies war meine erste Antwort auf eine Herausforderung auf dieser Website. Die Lösung ist einfach, hauptsächlich das Drucken, daher habe ich einige Zeit darauf verwendet, sicherzustellen, dass es nicht mehr zum Golfen geeignet ist.
Probieren Sie es online!
Ein halbes Jahr später habe ich das Skript umgeschrieben, einen Trick verwendet und es auf 1 Byte kürzer golfen. Das ist ein Fortschritt!
Erläuterung: Der Musterraum bei jedem Schritt wird aus Gründen der Übersichtlichkeit anhand des Eingabebeispiels "GO" angegeben.
quelle
Lua,
83, 92 Bytesfunction f(x)return' |\n /_\\\n'..x:gsub('(.)',' |%1|\n')..' |_|\n/___\\\n VvV'end
quelle