Esto es muy simple. Dada la entrada de un número, devuelve el nombre y el puntaje de reputación del usuario de Stack Overflow con esa ID dada . Su programa puede asumir que siempre se le da una identificación de usuario válida y existente.
Por ejemplo: dada la entrada 764357
(que es mi ID de usuario en StackOverflow), el programa devolvería LegoStormtroopr 3,088
(aproximadamente) podría cambiar.
Se obtiene la URL: " /programming//users/ " o " http://api.stackexchange.com/2.1/users/ " de forma gratuita, por lo que su puntuación es length of your program - 31 or 39
, dependiendo de la URL que utiliza - pero declara cual es . Esto evita que las personas abusen de los acortadores de URL.
editar: Y no llamar a una API personalizada que consulta Stack Overflow, y devuelve solo el nombre y la puntuación. Pero si conoce una API oficial, entonces eso es totalmente legítimo.
edit2: si necesita una entrada de ejemplo: he proporcionado mi ID a continuación, siéntase libre de agregar su propia ID, nombre de usuario y puntaje a continuación para ayudar a otros. Tenga en cuenta nuevamente, esto es para el sitio principal de Stack Overflow.
764357 returns LegoStormtroopr 3,088
fuente
http://api.stackexchange.com/2.1/users/
también debería ser "gratuita" para evitar penalizar a los usuarios de la API?site=stackoverflow
pieza gratis también?Respuestas:
Script de shell:
6451 caracteresEjecución de muestra:
(Tenga en cuenta que debe presionar
^D
después de escribir la entrada de forma interactiva. O simplemente canalizarla al comando).fuente
Rubí:
8470 caracteresEjecución de muestra:
fuente
s[/me">(.+)</,1],s[/ation".*?([\d,]+)/,1]
parece funcionargrep
mostraría más coincidencias por solo "acción").-ropen-uri
opción. (Es obligatorio e incluido en el recuento de personajes)Python 2.7 - 119
(150 - 31)
Sin expresiones regulares:
fuente
Pitón 3, 117
117 = 148 - 31
No creo que la búsqueda en código fuente HTML simple conduzca a una solución sólida. Por ejemplo, algunas cosas extrañas en el perfil de uno pueden romper sus soluciones. Entonces me gustaría buscar usando selectores CSS.
fuente
Javascript 217
Para empezar, aquí hay una versión de Javascript sin golf usando la API oficial con JSONP. Usar la url requeriría XHR, que podría ser bastante detallado, si encuentro algún tiempo, intentaré una versión más golfizada.
fuente
Perl 5 (con Mojolicious), 87 - 31 = 56 bytes
Ejecución de muestra:
Legible y limpio: 128 - 31 = 97 bytes
Ejecución de muestra:
fuente
-Mojo
incluido en el recuento? Eso cuesta 4 caracteres.-ropen-uri
. Sin embargo, me complace incluirlo si su comentario obtiene algunos votos positivos como indicación de que la comunidad quiere contarlos.perl
la-p
opción de ' usualmente se cuenta +1. Basado en eso cuento-Mojo
+4.R: 150-31 = 119
Simplemente selecciona las primeras líneas que contienen
h1
(para el nombre) y=re
(para la puntuación) usandogrep
con argumentovalue=TRUE
(aquív=T
) y luego divide la cadena (usando losstrsplit
caracteres>
y<
. Inconvenientemente consulta la página dos veces (de ahí los dos "Leer n elementos" advertencias) pero eso fue más corto.fuente
Tcl, (231-39) 192
no es el camino más corto, sino que usa la API oficial
Y en espíritu de la pregunta original :
Encuentra usuarios con esa reputación
fuente
CoffeeScript más corto: 143 caracteres (182 - 39)
Esto se basa en que la API siempre devuelve las claves de objeto en el mismo orden, pero elimina 7 caracteres.
CoffeeScript: 150 caracteres (189 - 39)
(Tenga en cuenta que el programa le solicita "indefinido": le pide la ID de usuario).
fuente
R - 84
84 = 115 - 31
Simulación:
fuente
101100 - CoffeeScript con jQueryAquí hay un violín ; solo sé que te avisa cuando abres la página por primera vez, así que ten listo un ID o presiona Ejecutar nuevamente.
¡O podemos ser súper hacky para salvar a un personaje completo!
fuente
Python 2.7 - 112
112 = 143 - 31
Una versión más nueva y corta que utiliza algunas de las ideas de la respuesta de Steven Rumbalski , mientras sigue utilizando Regex.
133 = 164 - 31
Aquí hay una versión base para que las personas trabajen, pero estoy seguro de que las personas pueden ser aún más cortas.
fuente
http://stackoverflow.com/users/12340
es 404.499214
lugar de12340
GNU Awk: 217 caracteres
Solo porque GNU es
awk
compatible con TCP de forma nativa: sin módulo / biblioteca / herramienta externa.Ejecución de muestra:
fuente