奥斯丁: “谁送给你的?”
穆斯塔法: “你必须杀了我!”
奥斯丁: “谁送给你的?”
穆斯塔法: “亲吻我的屁股,力量!”
奥斯丁: “谁送给你的?”
穆斯塔法: “邪恶博士。”
(...)
穆斯塔法: “我不能忍受三遍被问到同样的问题。这只会激怒我。”
您将本着Austin Powers和Mustafa的精神模拟一场简短的对话。但是整个对话的数据源将是一个StackOverflow问题(作为URL输入提供)。
规则
问题提问者的用户名将代替“奥斯丁”。他们将要问的问题三遍来自问题标题的最后一句(如果还没有,则被强制以问号结尾)。
StackExchange将扮演“ Mustafa”的角色。最终给出的答案来自答案中的第一句话,该句子不以问号结尾,并且将归因于回答用户的姓名。
要使一个问题符合游戏资格,它必须(a)给出答案,并且(b)必须对原始问题进行一系列评论:
- 来自提问者以外的其他人的评论
- (任何数量的跳过的评论)
- 发问者的评论
- 来自提问者以外的其他人的评论
- (任意数量的可跳过评论)
- 发问者的评论
如果在排名靠前的答案的日期之前不满足此顺序,则程序应简单地输出"Oh, behave!"
StackExchange Mustafa的愤怒反驳来自发问者以外的其他人的第一句话,即不以问号结尾的并确保其以感叹号结尾。如果注释中没有以问号结尾的句子,则跳过该句子作为反驳的候选对象。评论反驳归因于作者的用户名。
澄清说明
从注释中删除所有开头的“ @XXX”响应数据。
因为如果有很多注释,则StackOverflow会汇总注释,因此您可能必须使用第二个请求来获取完整列表。该请求的形式
/programming//posts/NNN/comments?_=MMM
为帖子ID在N中,问题ID在M中。例如,请参见:https://stackoverflow.com/posts/11227809/comments? _ = 211160网址应去除以仅锚文本。
我们将“句子”定义为以句点,问号或感叹号结尾的代码块之外的任何内容。如果一段文本没有这种形式的结尾标点符号,那么文本结尾就是句子的结尾;好像是用句点写的。
如果您正在寻找可能符合条件的有趣测试用例,则可以尝试使用StackExchange Data Explorer,例如带有“最多评论”的帖子。
...更多来,我下注...
样品
样品一
输入:
/programming/2283937/how-should-i-ethically-approach-user-password-storage-for-later-plaintext-retrie/
输出:
shanee: “在以后的纯文本检索中,如何道德地使用用户密码存储方式?”
stefanw: “我认为他知道这不好!”
shanee: “在以后的纯文本检索中,如何道德地使用用户密码存储方式?”
Rook: “也许您应该问一下如何以安全的方式实现缓冲区溢出漏洞!”
shanee: “在以后的纯文本检索中,如何道德地使用用户密码存储方式?”
迈克尔·伯尔(Michael Burr): “问为什么要求密码必须为纯文本格式:如果是这样,以便用户可以检索密码,那么严格来说,您实际上并不需要检索他们设置的密码(他们不记得密码是什么了)无论如何),您需要向他们提供可以使用的密码。”
样品二
输入:
http://scifi.stackexchange.com/questions/2611/why-dont-muggle-born-wizards-use-muggle-technology-to-fight-death-eaters
输出:
DVK: “为什么麻瓜出生的巫师不使用麻瓜技术来与食死徒作战?”
DampeS8N: “它再次在边缘跳动!”
DVK: “为什么麻瓜出生的巫师不使用麻瓜技术来与食死徒作战?”
DampeS8N: “对,但是这个站点不是要指出绘图漏洞!”
DVK: “为什么麻瓜出生的巫师不使用麻瓜技术来与食死徒作战?”
杰夫: “我相信,尽管我一直找不到参考,但JK罗琳实际上曾提到这一点。”
样品三
输入:
/programming/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array
输出:
“哦,守规矩!”
(评分最高的回答时间是Jun 27 '12 at 13:56
,而发问者对问题的第二次后续评论是在Jun 27 '12 at 14:52
。因此,第二次跟进和回答之间没有因果关系。:-P)
获奖标准
高尔夫代码-最短的代码获胜。