La sfida
Beh, penso che sia abbastanza chiaro, no? Devi creare una funzione o un programma che accetta una stringa come argomento e genera il corrispondente linguaggio Yoda.
Questo è code-golf , quindi vince il numero minimo di byte.
L'input
L'input potrebbe essere qualsiasi stringa senza avanzamento di riga. Puoi tradurre una stringa se è composta in questo modo:
Oggetto + Verbo + Qualcos'altro.
Dove soggetto è un pronome personale (io, tu, lui, lei, esso, noi, loro). Non devi riconoscere che la seconda parola è un verbo.
Se la prima parola non è un pronome, l'input è valido ma lo sarà Too difficult, this sentence is.
You have to win this code challenge -> Translatable
Luke has to win this code challenge -> Untranslatable
L'input può terminare con una lettera, a. o un!, non con un?.
Inoltre, le stringhe possono contenere Non-Ascii, Parentesi, virgole, due punti ...
L'output
Nel caso di una frase traducibile, l'output è la stessa frase, con l'oggetto e il verbo alla fine della frase.
You have to win this code challenge -> To win this code challenge, you have.
Virgola, punto e minuscolo sul pronome sono obbligatori. (Tranne, ovviamente, se il pronome è I).
Come affermato in precedenza, se non è traducibile, è necessario generare la stringa Too difficult, this sentence is.
Esempi
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.
!
? È garantito che ciò non accada o dovremmo gestirlo e stampare la stessa cosa di quando non c'è un pronome principale. L'input può contenere avanzamenti di riga? Apostrophes? Colons / parentesi / apici inversi? Caratteri non ASCII? Dici che "l'input potrebbe essere qualsiasi stringa", ma i tuoi casi di test coprono solo tipi di stringhe molto specifici.
You have to win this code challenge
dovrebbe essereThis code challenge, you have to win
.