C'est simple. Étant donné l'entrée d'un nombre, renvoyez le nom et le score de réputation de l'utilisateur Stack Overflow avec cet ID donné . Votre programme peut supposer qu'il reçoit toujours un ID utilisateur valide et existant.
Par exemple: étant donné l'entrée 764357
(qui est mon ID utilisateur sur StackOverflow) le programme retournerait LegoStormtroopr 3,088
(approximativement) il pourrait changer.
Vous obtenez l'URL: " /programming//users/ " ou " http://api.stackexchange.com/2.1/users/ " gratuitement, donc votre score est length of your program - 31 or 39
, selon l'URL que vous utilisez - mais déclarez lequel c'est . Cela empêche les utilisateurs d'abuser des raccourcisseurs d'URL.
edit: Et pas d'appeler une API sur mesure qui interroge Stack Overflow, et renvoie uniquement le nom et le score. Mais si vous connaissez une API officielle, c'est tout à fait légitime.
edit2: Si vous avez besoin d'un exemple d'entrée: j'ai donné mon ID ci-dessous, n'hésitez pas à ajouter votre propre ID, nom d'utilisateur et score ci-dessous pour aider les autres. Notez à nouveau, c'est pour le site principal Stack Overflow.
764357 returns LegoStormtroopr 3,088
la source
http://api.stackexchange.com/2.1/users/
également être "gratuite" pour éviter de pénaliser les utilisateurs de l'API?site=stackoverflow
pièce gratuitement?Réponses:
Script shell:
6451 caractèresExemple d'exécution:
(Notez que vous devez appuyer sur
^D
après avoir tapé l'entrée de manière interactive. Ou simplement la diriger vers la commande.)la source
Ruby:
8470 caractèresExemple d'exécution:
la source
s[/me">(.+)</,1],s[/ation".*?([\d,]+)/,1]
semble fonctionnergrep
afficherait plus de correspondances pour juste "ation" ".)-ropen-uri
option. (C'est obligatoire et inclus dans le nombre de caractères.)Python 2.7 - 119
(150 - 31)
Sans regex:
la source
Python 3, 117
117 = 148 - 31
Je ne pense pas que la recherche dans du code source HTML simple conduira à une solution solide. Par exemple, certaines choses étranges dans son profil peuvent briser vos solutions. J'aimerais donc effectuer une recherche à l'aide de sélecteurs CSS.
la source
Javascript 217
Voici une version Javascript non golfée utilisant l'API officielle avec JSONP, pour commencer. Utiliser l'URL nécessiterait XHR, qui pourrait être assez verbeux, si je trouve un peu de temps, j'essaierai une version plus golfée.
la source
Perl 5 (avec Mojolicious), 87 - 31 = 56 octets
Exemple d'exécution:
Lisible et propre: 128 - 31 = 97 octets
Exemple d'exécution:
la source
-Mojo
inclus dans le décompte? Cela coûte 4 caractères.-ropen-uri
. Cependant, je suis heureux de l'inclure si votre commentaire obtient quelques votes pour indiquer que la communauté veut les compter.perl
l'-p
option de est généralement comptée +1. Sur cette base, je compte-Mojo
+4.R: 150-31 = 119
Choisit simplement les premières lignes contenant
h1
(pour le nom) et=re
(pour la partition) en utilisantgrep
avec l'argumentvalue=TRUE
(iciv=T
), puis divise la chaîne (en utilisant lesstrsplit
caractères at>
et<
. Inconvénient, il interroge la page deux fois (d'où les deux "Lire n éléments") avertissements) mais c'était plus court.la source
Tcl, (231 - 39) 192
pas le chemin le plus court, mais en utilisant l'API officielle
Et dans l'esprit de la question d' origine :
Trouve des utilisateurs avec cette réputation
la source
CoffeeScript plus court: 143 caractères (182 - 39)
Cela repose sur l'API qui renvoie toujours les clés d'objet dans le même ordre, mais supprime 7 caractères.
CoffeeScript: 150 caractères (189 - 39)
(Notez que le programme vous invite à "non défini" - il demande l'ID utilisateur.)
la source
R - 84
84 = 115 - 31
Simulation:
la source
101100 - CoffeeScript avec jQueryVoici un violon ; sachez simplement qu'il vous invite lorsque vous ouvrez la page pour la première fois, alors préparez un ID ou appuyez à nouveau sur Exécuter.
Ou nous pouvons être super hacky pour sauver un personnage entier!
la source
Python 2.7 - 112
112 = 143 - 31
Une nouvelle version courte qui utilise certaines des idées de la réponse de Steven Rumbalski , tout en utilisant Regex.
133 = 164 - 31
Voici une version de base sur laquelle les gens peuvent travailler, mais je suis sûr que les gens peuvent devenir encore plus courts.
la source
http://stackoverflow.com/users/12340
est 404.499214
au lieu de12340
GNU Awk: 217 caractères
Tout simplement parce que GNU
awk
prend en charge TCP nativement: pas de module / bibliothèque / outil externe.Exemple d'exécution:
la source