Se a comunidade fosse uma pessoa


17

Bem, a comunidade é apenas um bot. Mas e se tivesse sido uma pessoa?

Sua tarefa é descobrir qual poderia ter sido a reputação da comunidade se ela recebesse reputação pelas edições que realiza. (Simplesmente 2 * edições)

Isso deve funcionar para qualquer site, mas consideraríamos o PP&CG para esta pergunta.

Use qualquer idioma, até o data.stackexchange funcionaria.

Como é o código de golfe, o menor código ganha a mesma reputação que eu ganho + 15 (via recompensa, deixarei 101 para mim: P).

EDIT: considere todos os tipos de edições que aumentam a reputação.


3
E se você tiver votos negativos? Você também nos dará uma reputação negativa?
precisa saber é o seguinte

2
Devemos contar apenas edições sugeridas ou edições normais (que NÃO aumentam a repetição) também? E as edições de tags wiki?
Maçaneta

Por que você vinculou ao histórico beta?
precisa saber é o seguinte

O problema é que a maioria das pessoas não sabe o que fazer, mas não sabe o que fazer.
Usuário registrado

11
Temos que considerar o ponto de corte? Existe um máximo de reputação que pode ser conquistada dessa maneira. Meu palpite é que, em muitos sites, a comunidade teria atingido esse máximo.
precisa saber é o seguinte

Respostas:


4

Eu sei que os encurtadores de URL são baratos, mas como todo mundo os está usando, eu provavelmente deveria.

Bash, com bce encurtador de URL:67 62 60 58 54

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

Faz o download da página relevante para STDOUT e, em seguida, procura '>por uma sequência de dígitos - isso significa que, no código-fonte da página, aspas simples são raramente usadas; de fato, a sequência '>ocorre duas vezes e apenas uma vez seguida por um número, que é o número de edições. Usando o look Perl no estilo Perl, o item '>não está realmente incluído na partida.

A -oopção produz grepapenas a sequência correspondente, e não a linha inteira que a contém (existe uma h1na mesma linha e eu não quero isso).

O número resultante de edições é concatenado *2e enviado para bc.

O @ 11684 apontou que você começa com 1 reputação, mas o solicitante esqueceu claramente que isso não é mencionado na pergunta (isso poderia quebrar as respostas existentes). Se você quiser adicionar isso, basta inserir +1no final do código, adicionando 2 caracteres.

PRATELEIRA , 36 - não conta como o idioma foi criado após a pergunta

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

SHELF é uma versão em golfe do Bash, como o PYG é para Python.


Vou roubar seu link encurtado, pois x.coé mais curto que goo.gl. :)
11684

@ 11684 eu não me importo, eu já dei a Synthetica


2

Python ( 191 181 170 126 117)

@ Henrik: Boa ideia usar um encurtador de URL. Não se importe se eu pedir emprestado o seu, não é? Só para começar, isso provavelmente será derrotado muito, muito rápido;)

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

Procura o <span class='count'>que contém a quantidade de reputação que o bot tem.


Você deve conseguir remover communityo URL.
Geobits

11
Er, isso não funciona. Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: ''
user80551

@ace Algo apareceu em algum lugar, não sei por quê. De qualquer forma: ele funciona agora.
ɐɔıʇǝɥʇuʎs

mais curto: x.co/4Ccg3

2

JavaScript (EcmaScript 6 + jQuery) - 80 caracteres

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

Execute-o no console JavaScript em qualquer página do StackExchange (embora as funções de seta do ECMAScript 6 sejam suportadas apenas no FireFox no momento, portanto, isso será feito nesse navegador até que os outros o alcancem) e obterá a reputação da Comunidade nesse domínio. Portanto, executá-lo http://codegolf.stackexchange.comobterá a reputação da Comunidade Code Golf (atualmente 118) e a execução http://academia.stackexchange.com/obterá a reputação desse site (atualmente 162).

O que espero responder às

Isso deve funcionar para qualquer site

pouco da pergunta.


3
Sinto-me como usar jQuery deve adicionar 83.532 para a pontuação final
JoshWillik

1

JavaScript (com jQuery) - 141

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

EDIT : funciona apenas se executado a partir de qualquer página StackExchange ... ou se a mesma política de origem for desabilitada .

Se a mesma política de origem estiver desativada, poderá ser reduzido para 96 ​​caracteres:

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

1

Eu incluí a 1 reputação em que você começa!

jQuery, 76

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

em qualquer página com jQuery e solicitada por http.

jQuery, funciona apenas na página relevante - 23

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

A página em que é executada é http://goo.gl/JOqzpF .



0

PowerShell (143)

Meu primeiro script do PowerShell! Conta o número de revisões e o tempo por duas (muito inspirado na resposta em Python do @ Synthetica).

$s=(New-Object Net.WebClient).DownloadString("http://tinyurl.com/pfmsq8w");(0+($s.Substring($s.IndexOf("s='cou")+10,8) -replace "[^\d]",""))*2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.