Martin a créé un bel extrait qui peut être utilisé pour garder une trace du score pour les réponses aux défis. C'est génial et tout, mais ne serait-il pas préférable que vous puissiez en faire le suivi vous-même?
Créez un programme qui compare le nombre d'octets en lui-même avec le reste des réponses à cette question et renvoie «Je suis le numéro de réponse n».
Règles:
Le nombre d'octets dans votre propre réponse peut être codé en dur dans le code
La fonction peut prendre l'URL en entrée, ou elle peut être codée en dur. Les caractères de l'URL ne compteront pas pour le nombre d'octets, il n'est donc pas nécessaire d'utiliser un raccourcisseur d'URL.
les adresses URL des réponses ne peuvent pas être codées en dur
Le score des réponses se trouve dans l'en-tête (de la même manière que l'extrait de Martin).
L'en-tête de réponse doit avoir le format correct (décrit ci-dessous).
S'il est possible d'exécuter le programme en ligne, veuillez partager un lien vers un compilateur en ligne (ou un extrait de code qui peut être exécuté à partir de la réponse). Si ce n'est pas possible, veuillez montrer comment appeler la fonction et afficher la sortie de votre propre compilateur (au moment où vous avez publié la réponse. Vous n'avez pas besoin de la mettre à jour à moins que vous ne le vouliez bien sûr).
Vous devez réellement comparer la réponse avec les autres réponses à cette question. Le simple fait d'écrire un script
I'm answer number 1.
dans une langue n'est pas légal.Si d'autres réponses ont le même nombre d'octets que le vôtre, vous pouvez choisir si vous voulez être le meilleur ou le pire d'entre elles.
L'en-tête doit être formaté:
# Language Name, N bytes
Le barré, etc. ne peut pas être utilisé, donc si la taille du code est modifiée, affichez-le en gras sous l'en-tête ou indiquez-le d'une autre manière.
La sortie doit être I'm answer number n.
, où le nombren
est la position (les sauts de ligne / espaces sont OK). Ainsi, la réponse la plus courte affichera: "Je suis la réponse numéro 1.", la seconde sera "Je suis la réponse numéro 2." etc.
C'est le golf de code, donc la réponse la plus courte en octets gagnera.
Réponses:
Perl, 107 octets
Un peu moins golfé:
Exemple d'utilisation
la source
Python 2, 145 octets
Sortie du 2015-10-10 17:30:00 UTC:
Je n'ai compté aucune URL pour mon score, si je devais s'il vous plaît commenter combien je devrais y ajouter. A son propre score codé en dur, suppose qu'il est déjà publié. Se cassera si jamais plus de 99 réponses sont affichées.
la source
AutoIt, 175 octets
(202 octets - 27 pour l'URL)
Sortie du 2015-10-09 17:47:00 UTC:
la source
l
au lieu d'unI
, donc je l'ai mal lu. La seule raison pour laquelle je m'en suis rendu compte, c'est en voyant l'article Wikipedia , qui a un empattement.JavaScript (ES7), 149 octets
283 octets - 134 pour l'URL. Je n'ai jamais utilisé de requêtes HTTP auparavant, mais voici ...
Testé avec succès dans Firefox 41.
D'abord, il regarde à travers les en-têtes de toutes les réponses pour trouver leur nombre d'octets, puis il trouve la première position avec le nombre d'octets
243149. Il est actuellement configuré pour vérifier uniquement les 100 premières réponses, et se cassera si quelqu'un obtient moins de 100 octets, mais cela fonctionne pour l'instant. ;)Merci à @GeorgeReith pour la technique beaucoup plus courte. Ancienne version utilisant AJAX (243 octets):
la source
If other answers have the same number of bytes as your own, you can choose if you want to be best or worse of them.
C'est toujours dans le post principal; ai-je mal compris quelque chose?PHP, 158
159164octets127 octets de
'http://api.stackexchange.com/2.2/questions/60204/answers?pagesize=99&order=desc&sort=votes&site=codegolf&filter=!--pn9sqW9y0T'
non comptésVersion formatée avec des chaînes non golfées:
$h
Les séquences de caractères comme
¶Ø’ßž‘Œˆšß‘Š’šß
sont des noms de constantes valides en PHP, mais comme les constantes n'existent pas, elles sont traitées comme des chaînes de caractères.~
les inverse, celui-ci à"I'm answer number "
(enregistrer un octet pour un guillemet chacun)Usage
la source
$a
variable est-elle vraiment nécessaire? Pourquoi tu ne le fais pas tout simplement$h[]=json_decode(…)[items][+$i++][body]
? Quels sont ces personnages étranges, au fait?" "
(3 octets) peut être réduit à~ß
(2 octets)json_decode
et justesplit
sur':'
ou quelque chose, par exemple: codepad.org/7rZg06byJavascript (ES6), 186 octets
(335 - 149 octets pour l'URL)
la source
\x3C
au lieu de<
?Awk, 153 octets
Cela devrait être enregistré dans un fichier
a
et exécuté comme:Je soustrais les 68 octets
http://codegolf.stackexchange.com/questions/60204/how-are-you-doing
et j'ajoute 13 au code pour le bootstrappingawk -v u=
et-f a
.Moins golfé, cela peut être encore plus court:
Il se préfère toujours dans les liens. Le nombre d'octets est codé en dur dans chacun.
La version plus golfy a le script s'appelant lui-même et sortant la valeur de sortie via le système. Dans chaque cas, le décompte est inférieur à l'incrément de valeur codé en dur
r
, qui doit ensuite être ajusté1
s'il est en tête.Cela échouera à trouver correctement les octets s'il y a un espace entre
bytes
et</h1>
et probablement un certain nombre d'autres cas , je n'ai pas pris en considération.En date du
Sun Oct 11 05:17:51 UTC 2015
, cela donne:la source
GNU Awk, 156 octets
(Inspiré de la solution Awk de n0741337 .)
Celui-ci fait tout lui-même, sans exécuter de commande externe.
Attend le nom d'hôte et le chemin d'accès en tant que valeurs distinctes. Étant donné qu'ils sont disponibles gratuitement, j'espère que cela n'enfreint pas les règles.
Exemple d'exécution:
la source