Austin: "Qui vous a envoyé?"
Mustafa: "Tu dois me tuer!"
Austin: "Qui vous a envoyé?"
Mustafa: "Embrasse mon cul, Powers!"
Austin: "Qui vous a envoyé?"
Mustafa: "Dr Evil."
(...)
Mustafa: "Je ne supporte pas qu'on me pose la même question trois fois. Cela m'irrite juste."
Vous devez simuler un bref dialogue dans l'esprit d' Austin Powers et de Mustafa . Mais la source de données pour toute la conversation sera une question StackOverflow (fournie en entrée d'une URL).
Règles
Le nom d'utilisateur du demandeur sera utilisé à la place de "Austin". La question qu'ils poseront trois fois vient de la dernière phrase du titre de la question (qui a été forcée de se terminer par un point d'interrogation si ce n'était déjà fait).
StackExchange jouera le rôle de "Mustafa". La réponse finalement donnée provient de la première phrase de la réponse qui ne se termine pas par un point d'interrogation et sera attribuée au nom de l'utilisateur qui a répondu.
Pour qu'une question soit éligible pour le jeu, elle doit (a) avoir une réponse, et (b) il doit y avoir une séquence de commentaires sur la question d'origine qui va:
- commentaire de quelqu'un d'autre que celui qui pose la question
- (n'importe quel nombre de commentaires ignorés)
- commentaire du questionneur
- commentaire de quelqu'un d'autre que celui qui pose la question
- (n'importe quel nombre de commentaires désactivables)
- commentaire du questionneur
Si cette séquence n'est pas satisfaite avant la date de la réponse la mieux classée , le programme doit simplement produire"Oh, behave!"
Les répliques en colère de StackExchange Mustafa proviennent de la première phrase des commentaires de quelqu'un d'autre que l'interrogateur qui ne se termine pas par un point d'interrogation - et en s'assurant que cela se termine par un point d'exclamation. S'il n'y a pas de phrase dans le commentaire qui ne se termine pas par un point d'interrogation, elle est ignorée en tant que candidat pour la réplique. Les répliques de commentaires sont attribuées au nom d'utilisateur de l'auteur.
Clarifications
Supprimez toutes les données de réponse "@XXX" principales d'un commentaire.
Étant donné que StackOverflow résume les commentaires s'il y en a beaucoup, vous devrez probablement utiliser une deuxième demande pour obtenir la liste complète. Cette demande est du formulaire
/programming//posts/NNN/comments?_=MMM
avec l'ID de poste en N et l'ID de question en M. Voir par exemple: /programming//posts/11227809/comments?_=211160Les URL doivent être supprimées uniquement pour le texte d'ancrage.
Nous définirons une "phrase" comme tout élément en dehors d'un bloc de code qui se termine par un point, un point d'interrogation ou un point d'exclamation. Si une séquence de texte n'a pas de ponctuation de fin de ce formulaire, la fin du texte est la fin de la phrase; comme s'il était écrit avec un point.
Si vous recherchez des cas de test amusants susceptibles de se qualifier, vous pouvez essayer d'utiliser StackExchange Data Explorer, tels que les publications avec le plus de commentaires .
... plus à venir, je parie ...
Échantillons
Échantillon un
Contribution:
/programming/2283937/how-should-i-ethically-approach-user-password-storage-for-later-plaintext-retrie/
Production:
shanee: "Comment dois-je aborder éthiquement le stockage des mots de passe des utilisateurs pour une récupération ultérieure du texte en clair?"
stefanw: "Je pense qu'il sait que ce n'est pas bon!"
shanee: "Comment dois-je aborder éthiquement le stockage des mots de passe des utilisateurs pour une récupération ultérieure du texte en clair?"
Rook: "Vous devriez peut-être vous demander comment mettre en œuvre une vulnérabilité de dépassement de tampon de manière sécurisée!"
shanee: "Comment dois-je aborder éthiquement le stockage des mots de passe des utilisateurs pour une récupération ultérieure du texte en clair?"
Michael Burr: "Demandez pourquoi le mot de passe doit être en clair: si c'est pour que l'utilisateur puisse récupérer le mot de passe, alors à proprement parler, vous n'avez pas vraiment besoin de récupérer le mot de passe qu'ils ont défini (ils ne se souviennent pas de quoi il s'agit) de toute façon), vous devez être en mesure de leur donner un mot de passe qu'ils peuvent utiliser. "
Échantillon deux
Contribution:
http://scifi.stackexchange.com/questions/2611/why-dont-muggle-born-wizards-use-muggle-technology-to-fight-death-eaters
Production:
DVK: "Pourquoi les sorciers nés de moldus n'utilisent-ils pas la technologie moldue pour combattre les mangemorts?"
DampeS8N: "Ça danse encore sur le bord!"
DVK: "Pourquoi les sorciers nés de moldus n'utilisent-ils pas la technologie moldue pour combattre les mangemorts?"
DampeS8N: "D' accord , mais ce site ne vise pas à signaler les trous de l'intrigue!"
DVK: "Pourquoi les sorciers nés de moldus n'utilisent-ils pas la technologie moldue pour combattre les mangemorts?"
Jeff: "Je crois, bien que je n'aie pas été en mesure de trouver une référence, que JK Rowling ait effectivement mentionné cela à un moment donné."
Échantillon trois
Contribution:
/programming/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array
Production:
"Oh, sois sage!"
(Le temps de réponse le mieux noté est Jun 27 '12 at 13:56
, tandis que le deuxième commentaire de suivi sur la question par le questionneur est à temps Jun 27 '12 at 14:52
. Par conséquent, il n'y a pas de lien de causalité entre le deuxième suivi et la réponse. :-P)
Critères gagnants
Code Golf - le code le plus court gagne.
la source
Réponses:
PHP, 1282 caractères
Alors que 1282 est assez énorme pour un défi de golf à code, le défi est assez complexe. (Et je ne suis pas très bon au golf.)
Version non golfée
la source
$a=function(1,2,$a)
choses ensemble.