Le défi
Eh bien, je pense que c'est assez clair, n'est-ce pas? Vous devez créer une fonction ou un programme qui prend une chaîne en tant qu'argument et génère le correspondant correspondant, Yoda.
C'est le code-golf , donc le moins d'octets gagne.
L'entrée
L'entrée peut être n'importe quelle chaîne sans saut de ligne. Vous pouvez traduire une chaîne si elle est composée comme ceci:
Sujet + Verbe + Quelque chose d'autre.
Où Subject est un pronom personnel (moi, vous, il, elle, elle, nous, eux). Vous n'êtes pas obligé de reconnaître que le deuxième mot est un verbe.
Si le premier mot n'est pas un pronom, l'entrée est valide mais la sortie sera Too difficult, this sentence is.
You have to win this code challenge -> Translatable
Luke has to win this code challenge -> Untranslatable
La saisie peut se terminer par une lettre, a. ou un!, pas avec un?.
De plus, les chaînes peuvent contenir des caractères non-ASCII, des parenthèses, des virgules, des deux-points, etc.
Le résultat
Dans le cas d'une phrase traduisible, le résultat est la même phrase, avec le sujet et le verbe à la fin de la phrase.
You have to win this code challenge -> To win this code challenge, you have.
Les virgules, les points et les minuscules du pronom sont obligatoires. (Sauf, bien sûr, si le pronom est I).
Comme indiqué précédemment, s'il est intraduisible, vous devez générer la chaîne Too difficult, this sentence is.
Exemples
You have to win this code challenge -> To win this code challenge, you have.
He won this code challenge -> This code challenge, he won. (I know this is not yoda-speaking, but I don’t want to overcomplicate this challenge)
I ate an ice cream earlier! -> An ice cream earlier, I ate.
I liked the Star Wars original trilogy more than the prequel’s one. -> The Star Wars original trilogy more than the prequel’s one, I liked.
I find your lack of faith disturbing -> Your lack of faith disturbing, I find.
I think we are done with the examples -> We are done with examples, I think.
He is your son, Vader -> Your son, Vader, he is.
I think they’ll add new features -> They’ll add new features, I think.
I made a fantastic code challenge (I hope) -> A fantastic code challenge (I hope), I made.
I love constants like π -> Constants like π, I love.
I’ll be the next President, I swear! -> Too difficult, this sentence is.
This challenge is great! -> Too difficult, this sentence is.
Is this challenge great? -> Too difficult, this sentence is.
Luke is not ready for this task -> Too difficult, this sentence is.
Somebody loves constants like π -> Too difficult, this sentence is.
[Empty string] -> Too difficult, this sentence is.
!
? Est-ce garanti que cela ne se produira pas ou devrions-nous nous en occuper et imprimer la même chose que lorsqu'il n'y a pas de pronom principal. L'entrée peut-elle contenir des sauts de ligne? Apostrophes? Colons / parenthèses / backticks? Caractères non-ASCII? Vous dites que "l'entrée peut être n'importe quelle chaîne", mais vos scénarios de test ne couvrent que des types de chaînes très spécifiques.
You have to win this code challenge
devrait êtreThis code challenge, you have to win
.