O desafio
Bem, acho que é bem claro, não é? Você precisa criar uma função ou um programa que use uma string como argumento e produza a correspondente fala Yoda.
Isso é código-golfe , portanto, o menor número de bytes vence.
A entrada
A entrada pode ser qualquer sequência sem avanço de linha. Você pode traduzir uma string se for composta assim:
Assunto + Verbo + Algo mais.
Onde Assunto é um pronome pessoal (eu, você, ele, ela, nós, eles). Você não precisa reconhecer que a segunda palavra é um verbo.
Se a primeira palavra não for um pronome, a entrada é válida, mas a saída será Too difficult, this sentence is.
You have to win this code challenge -> Translatable
Luke has to win this code challenge -> Untranslatable
A entrada pode terminar com uma letra, a. ou a!, não com a?.
Além disso, as strings podem conter Não-Ascii, Parênteses, vírgulas, dois pontos ...
A saída
No caso de uma frase traduzível, a saída é a mesma frase, com o sujeito e o verbo no final da frase.
You have to win this code challenge -> To win this code challenge, you have.
Vírgula, ponto e minúscula no pronome são obrigatórios. (Exceto, é claro, se o pronome for I).
Como afirmado anteriormente, se não for traduzível, você deverá gerar a string Too difficult, this sentence is.
Exemplos
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.
!
? Isso garante que isso não aconteça ou devemos lidar com isso e imprimir a mesma coisa que quando não há pronome inicial. A entrada pode conter feeds de linha? Apóstrofes? Dois pontos / parênteses / reticulares? Caracteres não ASCII? Você diz que "a entrada pode ser qualquer string", mas seus casos de teste cobrem apenas tipos muito específicos de strings.
You have to win this code challenge
deve serThis code challenge, you have to win
.