var QUESTION_ID=141725,OVERRIDE_USER=61563;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:
05AB1E , 7 Bytes
Code:
Verwendet die 05AB1E- Codierung. Probieren Sie es online!
Erläuterung
quelle
žp
es, wennAu
es golden ist? BADUM TaschentücherR ,
67.55BytesProbieren Sie es online!
quelle
sep
zus
. Funktionen vervollständigen benannte Argumente automatisch, wenn keine Kollisionen...
Arguments nicht funktionieren ; Argumente, die...
(normalerweise) vorher kommen, werden teilweise abgeglichen, und solche nachher nicht. Ich glaube, es gibt ein paar Ausnahmen, abercat
keine von ihnen...
Python 2 , 57 Bytes
Probieren Sie es online!
quelle
V ,
13, 11 BytesProbieren Sie es online!
Hexdump:
Geschrieben von meinem Handy: P.
quelle
PowerShell , 42 Byte
Probieren Sie es online!
Erläuterung:
quelle
Bash + GNU sed, 60
Probieren Sie es online aus .
quelle
:x
zu:
undtx
zu wechselnt
./// ,
10597 BytesProbieren Sie es online!
Erläuterung
/// kennt nur einen Befehl,
/<pattern>/<substitution>/<text>
ersetzt alle Vorkommen von<pattern>
in<text>
durch<substitution>
. Zusätzlich\
können zu entkommen Zeichen verwendet werden.Verkürzter Code zur Vereinfachung:
Der erste Befehl
/:/\\\\*/
ersetzt:
mit\\*
in dem nachfolgenden Code. Das gibt:Dann
/#/\\*E\\*D\\*C\\*B\\*A/
ersetzt#
mit\*E\*D\*C\*B\*A
:Dann
/\\*/\/\/__\*E\*D\*C\*B\*A<newline>\/ /
ersetzt\*
mit//__*E*D*C*B*A<newline>/
:Hinweis: Ich musste
\*
für den Ersatz verwenden. Da*
ist auch ein Teil der Ersetzung, würde es eine Endlosschleife erzeugen, wenn ich nur ersetze*
.Dann wird der Befehl durch Leerzeichen
/_/ /
ersetzt_
und/*//
alles gelöscht*
:Der nächste Befehl
/#//
ersetzt#
durch nichts. Da#
der Code keine enthält, wird nichts ausgeführt. Dies ist nur hier, um die beiden Ableitungen//
vom Anfang des Codes zu entfernen . Diese BlätterDann wird der Befehl
/ E//
entfernt<space>E
, sodass der Code erhalten bleibtÄhnliche
/ D//
entfernt<space>D
:/ C//
:/ B//
:Und der letzte Befehl ist unvollständig, also macht er nichts:
quelle
Haskell,
5352 BytesProbieren Sie es online!
Wie es funktioniert
quelle
f['Z'..'A']
?[a..b]
Beginnt mita
und sammelt alle Nachfolger (+1
für ganze Zahlen, nächste ASCII-Zeichen für Zeichen usw.) bis zub
. Wenna > b
dies eine leere Liste ist. Sie können jedoch auch den zweiten Wert (der kleiner sein kann) angeben, aus dem ein Inkrement / Dekrement berechnet wird.[1,3..8]
->[1,3,5,7]
,[15,10..0]
->[15,10,5,0]
, oder['Z','Y'..'A']
das ist das rückwärts gerichtete Großbuchstaben.Python 2 ,
6664Probieren Sie es online!
quelle
print
und'
für 65 Byte entfernen .JavaScript (ES6),
837776 Bytesquelle
Gelee , 12 Bytes
Probieren Sie es online!
-3 Bytes dank Meilen
quelle
Brainfuck , 105 Bytes
Probieren Sie es online!
Minimiert und formatiert:
Lesbare Version:
quelle
Oktave ,
53494645 Bytes1 Byte entfernt dank @Sanchises
Probieren Sie es online!
quelle
Poetisch , 601 Bytes
Poetic ist ein Esolang, den ich 2018 für ein Klassenprojekt erstellt habe, und ein Brainfuck-Derivat, bei dem die Wortlängen Brainfuck-Befehlen entsprechen (und die Befehle +, -,> und <jeweils einstellige Argumente haben).
Die Tatsache, dass nur die Wortlänge die Befehle diktiert, bedeutet, dass ich technisch gesehen ein Programm hätte erstellen können, das vollständig aus Nicht-Wörtern besteht (dh der Buchstabe X wurde so oft benötigt, mit Leerzeichen zwischen den Wörtern), aber ich wollte ein interessantes machen Free-Vers-Gedicht daraus, ohne unnötige Bytes hinzuzufügen.
Wenn Sie es online ausprobieren möchten (das ist der halbe Punkt des Unterrichtsprojekts), schauen Sie sich meinen Online-Dolmetscher an !
quelle
05AB1E , 10 Bytes
Probieren Sie es online!
Erklärungen:
quelle
Perl 6 , 37 Bytes
9 Bytes dank @Massa gespart.
Probieren Sie es online!
Erläuterung:
25...0
liegt (wie erwartet) zwischen 25 und 0. Wir durchlaufen diesen Bereich und sagen (= Drucken mit Zeilenvorschub), dass viele Leerzeichen und die Zeichenfolge mit ASCII-Codes (chrs
) von 65 + dieser Zahl ($_+65...65
) vorhanden sind.quelle
25...0
ist der kürzere Weg :-)say " "x$_,chrs $_+65...65 for 25...0
:-)Holzkohle ,
1911 Bytes-8 Bytes nur dank ASCII.
Probieren Sie es online! Link ist zur ausführlichen Version.
quelle
CycleChop
... aber du hast vergessenIncrement
(oder wie es heißt)Perl 5 , 36 Bytes
35 Byte Code + 1 für
-p
.Hinweis : TIO unterstützt keinen leeren Eingang , so dass ein Newline vorgesehen ist, führt dies zu einem fremden Newline, aber wenn auf Befehlszeile mit leerer Eingabe ausgeführt wird , dies wird nicht angezeigt.
Probieren Sie es online!
quelle
Ruby ,
5452 BytesProbieren Sie es online!
quelle
Cubix , 43
46BytesProbieren Sie es online!
Cubified
Schau es dir an
Habe es geschafft, ein paar mehr davon zu rasieren, aber es war ein bisschen schwieriger als ich dachte. Nach dem ersten Zitat gibt es ein Ersatzzeichen, das mir 26 gibt.
'<sub>
Schieben Sie 26 als Basisnummer auf den Stapel:(!
Basis als Zähler duplizieren, dekrementieren, auf Wahrheit prüfenu
bei true den$
befehl überspringen und nach rechts wendenSo;u
Drücke 32, gebe als Zeichen aus, drücke 32 und drehe nach rechts auf die Senkung$
bei falschem Sprung der nächsteu
Befehl;:'@^
Pop, duplizieren Sie die Basisnummer, schieben Sie 64 auf Stapel und leiten Sie in eine quälende Route um$\s/:\/u;$
Dies ist die Reihenfolge der Schritte auf der Oberseite. Es läuft darauf hinaus, den Zähler gegen den 64 auszutauschen. Zum Schluss überspringen Sie die Umleitung, die ihn hierher gebracht hat.<+o;U
umleiten, hinzufügen, Zeichen ausgeben, Pop, nach links wenden(!
Dekrementieren, auf Wahrheit prüfen. Wenn wahr, beginnt ein Pfad, der die Kehrtwende trifft und zur Umleitung zurückkehrt.|(;No
auf false, Reflect, Redundant Test, Redundant Decrement, Pop, Push 10 und Ausgabezeichen;;(u!@W
Gehe zur Basis, dekrementiere, wende dich nach rechts zum Wahrheitstest, halte an, wenn falsch, wechsle andernfalls die Spur auf das Duplikat am Anfang. Spülen und wiederholen.quelle
Python, 83 Bytes
Meine erste Antwort auf Codegolf :)
quelle
sed 4.2.2 + Bash , 50 Bytes
Probieren Sie es online!
Bash + sed 4.2.2 , 51 Bytes
Aufbauend auf der Antwort von @ DigitalTrauma .
Probieren Sie es online!
quelle
Vim, 43 Tastenanschläge
Sie können es in diesem GIF sehen, das mit Lynns Python-Skript erstellt wurde
quelle
JavaScript,
7574 BytesDank Rick Hitchcock 1 Byte gespart
Probieren Sie es online!
quelle
b
(b=''
) und dannb
die eckigen Klammern entfernen.Perl 5 , 49 Bytes
Probieren Sie es online!
quelle
A
, aber anscheinend kann dies durch Ändern$"x25
von behoben werden$"x26
!Z
, vergaß ich, das zu berücksichtigen.Pyke , 8 Bytes
Probieren Sie es hier aus!
Ich kann sehen, dass die richtige Sprache dies in 6 Bytes tut, wenn sie ein eingebautes für
prepend n spaces to string
sowie was Pyke tutquelle
PHP (
635855 Bytes)Dies ist möglicherweise meine seltsame Lieblingsecke von PHP, eine Ecke, die es von Perl erbt:
Dies gibt die nachfolgende Newline aus, wie dies ausdrücklich erlaubt ist. Dies kann ausgeführt werden
php -r
, um die Öffnung zu speichern, die<?php
zum Einfügen in eine Datei erforderlich ist.Erläuterung: Wenn eine Variable, die die Zeichenfolge enthält,
'A'
in PHP inkrementiert wird, wird sie zu'B'
und dann'C'
und so weiter, bis'Z'
wird'AA'
.'A'
In dieser Madcap - Algebra gibt es zu Beginn noch keine Ziffer , und der Dekrementierungsoperator macht sie nicht rückgängig. Daher speichern wir das inkrementell umgekehrte Alphabet unter$z
(das sichNULL
beim Verketten mit einer Zeichenfolge standardmäßig auf die leere Zeichenfolge verhält) das gleiche passiert mit$s
und$q
). Whitespace wird in akkumuliert$s
und der gesamte String wird in Variablen rückwärts akkumuliert,$q
was bedeutet, dass wir ihn am Ende wiedergeben müssen.Vielen Dank an Titus , der mir gesagt hat, dass ich keine Strafe für Inline-Evaluierungs-Flags wie nehmen muss
-r
.quelle
-r
ist gratis. Zwei Bytes kürzer:for($c=A;$c!=AA;$q="$s$z\n$q",$s.=" ")$z=$c++.$z;echo$q;
-R
und-F
sind nicht frei. Siehe codegolf.meta.stackexchange.com/questions/2424/…$c<AA
.SOGL V0.12 ,
108 BytesProbieren Sie es hier aus!
quelle
701 choose x
Versuche für eine beliebige Ganzzahl xCommon Lisp,
8482 BytesProbieren Sie es online!
Zwei Bytes weniger dank @ Ascii-only!
quelle
Python 2 ,
7267 BytesProbieren Sie es online!
quelle