Если бы сообщество было человеком


17

Ну, сообщество это просто бот. Но что, если бы это был человек?

Ваша задача - выяснить, какова была бы репутация сообщества, если бы ему дали репутацию за правки, которые оно делает (просто 2 * правки).

Это должно работать для любого сайта, но мы бы рассмотрели PP & CG для этого вопроса.

Используйте любой язык, даже data.stackexchange будет работать.

Поскольку это кодовый гольф, наименьший код выигрывает столько же репутации, сколько я получаю + 15 (через награду я оставлю 101 для себя: P).

РЕДАКТИРОВАТЬ: рассмотреть все виды правок, которые увеличивают репутацию.


3
Что делать, если у вас есть отрицательные голоса? Вы также дадите нам отрицательную репутацию?
user12205

2
Должны ли мы считать только предложенные правки или обычные правки (которые НЕ увеличивают количество повторений)? Как насчет тегов вики?
Дверная ручка

Почему вы ссылаетесь на бета-версию истории?
TheDoctor

@thedoctor моя ошибка. Пожалуйста, измените ее на ссылку PPCG. В настоящее время у меня нет доступа к моему компьютеру.
Зарегистрированный пользователь

1
Должны ли мы рассмотреть отсечение? Таким образом, можно получить максимум репутации. Я предполагаю, что на многих сайтах сообщество достигло бы этого максимума.
Тим Сегин

Ответы:


4

Я знаю, что укороченные URL обмануты, но, поскольку все остальные используют их, я, вероятно, должен.

Bash, с bcи URL сокращения:67 62 60 58 54

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

Загружает соответствующую страницу в STDOUT, затем выполняет поиск с '>последующей последовательностью цифр - он неправильно использует тот факт, что в исходном коде страницы одинарные кавычки используются редко; на самом деле последовательность '>происходит дважды, и только один раз следует число, которое является количеством правок. Используя внешний вид в стиле Perl, на '>самом деле он не включен в матч.

-oОпция позволяет grepвыводить только найденную строку , а не всю строку , содержащую его (есть h1на той же линии , и я не хочу этого).

Полученное количество правок объединяется *2и отправляется bc.

@ 11684 указали, что вы начинаете с 1 репутацией, но спрашивающий явно забыл, что это не упоминается в вопросе (это нарушит существующие ответы, если это так). Если вы хотите добавить это просто положить в+1 конец кода, добавьте 2 символа.

SHELF , 36 - не считается языком, созданным после вопроса

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

SHELF - это версия Bash для гольфа, как PYG для Python.


Я собираюсь украсть твою укороченную ссылку, так как x.coона короче goo.gl. :)
11684

@ 11684 Я не против, я уже отдал его Synthetica

Сокращение URL, умный;)

2

Питон ( 191 181 170 126 117)

@Henrik: Хорошая идея использовать сокращение URL. Не против, если я одолжу твою, а ты? Просто, чтобы начать, это, вероятно, будет побеждено очень, очень быстро;)

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

Ищет, <span class='count'>что содержит количество репутации, которую имеет бот.


Вы должны быть в состоянии удалить communityиз URL.
Geobits

1
Э-э, это не работает Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: ''
user80551

@ace Что-то глючило где-то, не знаю почему. В любом случае: это работает сейчас.
Aprıʇǝɥʇuʎs

больше сокращений: x.co/4Ccg3

2

JavaScript (EcmaScript 6 + jQuery) - 80 символов

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

Запустите его в консоли JavaScript на любой странице StackExchange (хотя функции стрелок ECMAScript 6 на данный момент поддерживаются только в FireFox, так что это будет сделано в этом браузере, пока другие не догонят), и получит репутацию сообщества в этом домене. Таким образом, его запуск http://codegolf.stackexchange.comпозволит получить репутацию Code Golf Community (в настоящее время 118) и запустить его наhttp://academia.stackexchange.com/ получит репутацию с этого сайта (в настоящее время 162).

Который, надеюсь, отвечает

Это должно работать для любого сайта

немного вопроса.


3
Я чувствую, что использование jQuery должно добавить 83532 к окончательному счету
JoshWillik

1

JavaScript (с помощью jQuery) - 141

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

РЕДАКТИРОВАТЬ : работает только в том случае, если выполняется со страницы StackExchange ... или если такая же политика происхождения отключена .

Если такая же политика происхождения отключена, можно сократить до 96 символов:

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

1

Я включил 1 репутацию, с которой вы начинаете!

JQuery, 76

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

на любой странице с jQuery и запрашивается http.

jQuery, работает только на соответствующей странице - 23

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

Страница, на которой он работает, - http://goo.gl/JOqzpF .



0

PowerShell (143)

Мой первый в истории сценарий PowerShell! Подсчитывает количество ревизий и умножает их на два (очень вдохновлено ответом @ Synthetica на Python).

$s=(New-Object Net.WebClient).DownloadString("http://tinyurl.com/pfmsq8w");(0+($s.Substring($s.IndexOf("s='cou")+10,8) -replace "[^\d]",""))*2
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.