Die Herausforderung
Nun, ich denke es ist ziemlich klar, nicht wahr? Sie müssen eine Funktion oder ein Programm erstellen, das einen String als Argument verwendet und das entsprechende Yoda-Sprechen ausgibt.
Das ist Code-Golf , also gewinnt die geringste Anzahl von Bytes.
Die Eingabe
Die Eingabe kann eine beliebige Zeichenfolge ohne Zeilenvorschub sein. Sie können einen String folgendermaßen übersetzen:
Betreff + Verb + Etwas anderes.
Wo Subjekt ein Personalpronomen ist (ich, du, er, sie, es, wir, sie). Sie müssen nicht erkennen, dass das zweite Wort ein Verb ist.
Wenn das erste Wort kein Pronomen ist, ist die Eingabe gültig, die Ausgabe jedoch Too difficult, this sentence is.
You have to win this code challenge -> Translatable
Luke has to win this code challenge -> Untranslatable
Die Eingabe kann mit einem Buchstaben enden. oder a!, nicht mit a?
Darüber hinaus können Zeichenfolgen Nicht-ASCII-Zeichen, Klammern, Kommas, Doppelpunkte usw. enthalten.
Die Ausgabe
Im Falle eines übersetzbaren Satzes ist die Ausgabe derselbe Satz mit dem Betreff und dem Verb am Ende des Satzes.
You have to win this code challenge -> To win this code challenge, you have.
Komma, Punkt und Kleinschreibung auf dem Pronomen sind obligatorisch. (Außer natürlich, wenn das Pronomen I ist).
Wie bereits erwähnt, müssen Sie den String ausgeben, wenn er nicht übersetzbar ist Too difficult, this sentence is.
Beispiele
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.
!
? Kommt das garantiert nicht vor oder sollten wir damit umgehen und das Gleiche drucken, als gäbe es kein Leitpronomen. Kann die Eingabe Zeilenumbrüche enthalten? Apostrophe? Doppelpunkte / Klammern / Backticks? Nicht-ASCII-Zeichen? Sie sagen, die Eingabe könnte eine beliebige Zeichenfolge sein, aber Ihre Testfälle decken nur sehr bestimmte Arten von Zeichenfolgen ab.
You have to win this code challenge
sollte das seinThis code challenge, you have to win
.