Votre but dans ce golf de code est de prendre deux chaînes, language
et code
(si le code golfed que vous avez écrit pour cela est multiligne, alors cette variable multiligne soit.) , Et un entier, bytes
. Ils représentent les variables d'un langage de programmation, le nombre d'octets qu'il prend et le code lui-même.
Après cela, vous allez le formater comme le fait un golfeur de code.
La variable de sortie est une chaîne multiligne appelée answer
.
Vous pouvez utiliser des chaînes multilignes sur:
Si vous recherchez Stack Overflow , vous devriez pouvoir trouver plus de langages de programmation qui le prennent en charge.
Voici un modèle de démarque de sortie. La code
variable est dans un bloc de code et il y a un en-tête de deuxième niveau.
## {language}, {bytes} bytes
{code}
Voici à quoi ressemblerait la sortie une fois collée dans un analyseur Markdown.
{langue}, {octets} octets
{code}
Les variables sont supposées être déjà remplies comme la langue dans laquelle vous avez codé votre entrée de golf de code, le nombre d'octets qu'il prend et le code réel pour celui-ci.
Voici un autre exemple de sortie sous forme de code, cette fois avec des variables remplies:
## JavaScript, 1337 bytes
document.getElementById("foo").innerHTML = bar;
Voici la version en bloc:
JavaScript, 1337 octets
document.getElementById("foo").innerHTML = bar;
Les octets peuvent être retirés de votre code si vous utilisez un moyen de définir le texte d'un <p>
élément en HTML par l'id result
, comme le code JavaScript suivant:
document.getElementById("result").innerHTML = answer;
Assurez-vous d'inclure également le <p id="result"></p>
dans la section HTML de JSFiddle pour que cela fonctionne.
Notation
Comme toutes les questions de code-golf , le code qui utilise le moins d'octets est le meilleur.
la source
{code}
jamais un code multiligne?language
,bytes
etcode
sont saisis ou s'il s'agit d'une variante quine où ces éléments doivent correspondre au code de résolution lui-même. (Et si oui, si la lecture directe ou indirecte de ce code source est autorisée, et si les intégrations quine sont autorisées.)code
peut elle-même contenir des sauts de ligne?code
qu'il ne sera pas multiligne, ou non? Veuillez indiquer que dans le texte du défiRéponses:
05AB1E , 21 octets
Code:
Utilise l' encodage CP-1252 . Essayez-le en ligne! .
la source
Java, 70 octets
Suppose que
b[0]
c'est le nom de la langue,b[1]
le nombre d'octets etb[2]
le code.La rendre compilable coûte 9 octets, ce qui donne un programme non autonome de 79 octets:
Le programme monolithique équivalent fait 103 octets de long:
Le monolithique fonctionne avec des arguments de ligne de commande, en supposant ceux-ci tout comme le programme non autonome:
Java (expression lambda),
5648 octetsCeci est un
java.util.function.Function<String[], String>
.Aucun de ces programmes / fonctions ne gère les chaînes multilignes. Pour ce faire, il suffit de remplacer
b[2]
etA[2]
avecb[2].replace("\n","\n ")
etA[2].replace("\n","\n ")
- cela ajoute 23 octets.la source
\t
ou quelque chose pour remplacer les 4 espaces après les deux nouvelles lignes?\t
et non 4 espaces?b->
.V , 24 octets
Notez qu'il y a un espace de fin à la fin.
Ce programme fait l'hypothèse qui{code}
ne sera pas sur plusieurs lignes.Op a clarifié, "code" peut être une chaîne multiligne. Cette version de 24 octets fonctionne:
Puisqu'il contient un caractère non imprimable, voici la version lisible:
Où
<esc>
est le caractère d'échappement littéral, par exemple0x1B
.la source
Python 3.5,
4033 octets:( -7 octets grâce à une clarification de Mego )
Une fonction lambda anonyme qui prend les entrées comme arguments positionnels dans le format
<function name>(String, Number, String)
et génère une chaîne multiligne.Essayez-le en ligne! (Ideone)
la source
*f
et abandonnez l'tuple
appel.TypeError: not enough arguments for format string
chaque fois que je le lance comme ça.#
et le%
.#
et le lambda est nécessaire, du moins je pense.JavaScript (ES6), 56 octets
Aussi, pour rire, voici une réponse qui se formate pour moi:
JavaScript (ES6), 68 octets
Imprimer le résultat de
f()
.la source
(ES6)
. (Pourquoi Cᴏɴᴏʀ O'Bʀɪᴇɴ a-t-il seulement pris la peine de changer la longueur?)C #,
4038 octetsC # lambda où les entrées et les sorties sont des chaînes.
C #, 59 octets
Avec traitement d'une réponse multiligne.
C #, 71 octets
La solution de 38 octets qui s'imprime
Essayez-les en ligne
la source
Mathematica, 40 octets
Fonction anonyme. Prend la langue, le nombre d'octets et le programme en entrée et imprime le corps dans STDOUT.
la source
Jolf,
24 ans22 octetsPas grand chose à expliquer ici.
¦
signifie entrée interpolée.Essayez-le ici!La sortie pour l'entrée dans le lien est:
L'entrée est la suivante:
la source
MATL ,
2827 octets1 octet enregistré grâce à la suggestion de @ NinjaBearMoneky
Essayez-le en ligne!
Le bloc de code doit être sur une seule ligne.
Explication
la source
Lisp commun, 57 octets
Aussi, pour le plaisir, voici un extrait de code qui imprime un en-tête pour lui-même.
Lisp commun, 146 octets
la source
Rubis, 63 octets
Essayez-le en ligne: http://codepad.org/EIn0Gw9M
la source
hashmap , 29 octets.
(J'ai écrit ce message avec le programme, mais j'ai dû m'échapper \ n dans \\ n)
Explication:
la source
CJam ,
2623 octetsMerci à @NinjaBearMonkey d'avoir supprimé 3 octets!
Le bloc de code doit être sur une seule ligne.
Essayez-le en ligne!
Explication
la source
'#_Sl',Sl" bytes"N_S4*l
Pyke, 25 octets
Essayez-le ici!
Ou
Pyke, 0 octets
Essayez-le ici! - cliquez sur le bouton copier réponse;)
EDIT - C'est juste une fonctionnalité du site Web, il triche (ou du moins je le considérerais) parce qu'il n'analyse jamais un AST et le programme Web n'est probablement pas considéré comme faisant partie de la langue car il n'interagit pas beaucoup avec la langue (même s'il exécute l'interpréteur Pyke)
la source
Perl 5, 35 octets
Un programme complet, cela prend l'entrée comme arguments de ligne de commande dans l'ordre inverse. Il faut
-M5.01
, ce qui est gratuit.la source
Emacs Lisp, 97 octets
De plus, comme il peut parfois être difficile d'échapper aux guillemets et autres, un exemple d'utilisation qui copie la chaîne dans le presse-papiers. (Marquez la région et utilisez
M-:
)Emacs Lisp, 184 octets
la source