Se la comunità sarebbe stata una persona


17

Bene, la community è solo un bot. E se fosse stata una persona?

Il tuo compito è quello di scoprire quale potrebbe essere la reputazione della community se fosse stata riconosciuta per le modifiche apportate (semplicemente modifiche 2 *)

Questo dovrebbe funzionare per qualsiasi sito, ma prenderemo in considerazione PP&CG per questa domanda.

Utilizza qualsiasi lingua, anche data.stackexchange funzionerebbe.

Dato che si tratta di code golf, il codice più piccolo vince la stessa reputazione che guadagno + 15 (tramite la taglia, lascerò 101 per me: P).

EDIT: considera tutti i tipi di modifiche che aumentano la reputazione.


3
Cosa succede se si dispone di voti negativi? Ci darai anche una reputazione negativa?
user12205,

2
Dovremmo contare solo le modifiche suggerite o le modifiche normali (che NON aumentano la ripetizione)? Che dire delle modifiche ai tag wiki?
Maniglia della porta

Perché hai effettuato il collegamento alla cronologia beta?
TheDoctor

@thedoctor il mio errore. Si prega di cambiarlo in collegamento PPCG. Al momento non ho accesso al mio computer.
Utente registrato

1
Dobbiamo considerare il taglio? C'è un massimo di reputazione che può essere guadagnato in questo modo. La mia ipotesi è che su molti siti, la community avrebbe raggiunto questo massimo.
Tim Seguine,

Risposte:


4

So che gli accorciatori di URL sono economici, ma dal momento che tutti gli altri li usano probabilmente dovrei.

Bash, con bce accorciatore di URL:67 62 60 58 54

bc<<<`wget x.co/4Ccg3 -qO-|grep -oP "(?<='>)[0-9]+"`*2

Scarica la pagina pertinente su STDOUT, quindi cerca '>seguita da una sequenza di cifre - abusa del fatto che nel codice sorgente della pagina, le virgolette singole vengono utilizzate solo raramente; in effetti la sequenza si '>verifica due volte e solo una volta seguita da un numero, che è il numero di modifiche. Usando il lookbehind in stile Perl, il '>non è effettivamente incluso nella partita.

L' -oopzione rende in grepoutput solo la stringa corrispondente anziché l'intera riga che la contiene (ce n'è una h1sulla stessa riga e non la voglio).

Il numero risultante di modifiche viene concatenato *2e inviato a bc.

@ 11684 ha sottolineato che inizi con 1 reputazione, ma il richiedente ha chiaramente dimenticato che quindi non è menzionato nella domanda (se lo fosse, romperebbe le risposte esistenti). Se vuoi aggiungerlo in appena inserito +1alla fine del codice, aggiungendo 2 caratteri.

SHELF , 36 - non conta come la lingua è stata creata dopo la domanda

, `W x.co/4Ccg3|t "(?<='>)[0-9]+"`*2

SHELF è una versione golfata di Bash, come PYG è per Python.


Ho intenzione di rubare il tuo collegamento abbreviato, poiché x.coè più breve di goo.gl. :)
11684

@ 11684 non mi dispiace, l'ho già dato a Synthetica


2

Python ( 191 181 170 126 117)

@Henrik: buona idea usare un accorciatore di URL. Non importa se prendo in prestito il tuo, vero? Solo per dare il via, questo probabilmente sarà battuto molto, molto velocemente;)

i=__import__("urllib2").urlopen("http://x.co/4Ccg3").read();j=i[i.index("<span class='count")+20:];print 2*int(j[:2])

Cerca il valore <span class='count'>che contiene la quantità di reputazione del bot.


Dovresti essere in grado di rimuovere communitydall'URL.
Geobits

1
Ehm, questo non funziona. Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: ''
user80551

@ace Qualcosa ha incasinato da qualche parte, non so perché. Comunque: ora funziona.
3ıʇǝɥʇuʎs

più breve: x.co/4Ccg3

2

JavaScript (EcmaScript 6 + jQuery) - 80 caratteri

$.get('/users/-1/?tab=activity&sort=revisions',r=>alert($('.count',r).text()*2))

Eseguilo nella console JavaScript su qualsiasi pagina StackExchange (anche se le funzioni freccia ECMAScript 6 sono supportate solo su FireFox al momento, quindi dovrà essere fatto in quel browser fino a quando gli altri non lo raggiungeranno) e otterrà la reputazione della Comunità su quel dominio. Quindi eseguirlo http://codegolf.stackexchange.comotterrà la reputazione della Code Golf Community (attualmente 118) e eseguirlo http://academia.stackexchange.com/otterrà la reputazione da quel sito (attualmente 162).

Che si spera risponda al

Questo dovrebbe funzionare per qualsiasi sito

po 'della domanda.


3
Sento che usare jQuery dovrebbe aggiungere 83532 al punteggio finale
JoshWillik

1

JavaScript (con jQuery) - 141

$.get('http://codegolf.stackexchange.com/users/-1/?tab=activity&sort=revisions',function(o){alert($('<a>').html(o).find('.count').html()*2)})

EDIT : funziona solo se eseguito da qualsiasi pagina StackExchange ... o se la stessa politica di origine non è abilitata .

Se la stessa politica di origine è disabilitata, può essere ridotta a 96 caratteri:

$.get('http://tinyurl.com/pfmsq8w',function(o){alert($('<a>').html(o).find('.count').html()*2)})

1

Ho incluso la reputazione 1 con cui inizi!

jQuery, 76

$a=$("body");$a.load("//x.co/4Ccg3 .count",function(){$a.text($a.text()*2+1)

su qualsiasi pagina con jQuery e richiesto da http.

jQuery, funziona solo sulla pagina pertinente - 23

$(".count").text()*2+1;

La pagina su cui gira è http://goo.gl/JOqzpF .



0

PowerShell (143)

Il mio primo script PowerShell in assoluto! Conta il numero di revisioni e lo fa per due (molto ispirato dalla risposta Python di @ Synthetica).

$s=(New-Object Net.WebClient).DownloadString("http://tinyurl.com/pfmsq8w");(0+($s.Substring($s.IndexOf("s='cou")+10,8) -replace "[^\d]",""))*2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.