Die Shakespeare-Programmiersprache wurde 2001 von den beiden schwedischen Studenten Karl Hasselström und Jon Åslund entwickelt und kombiniert, wie die Autoren behaupten ,
die Ausdruckskraft von BASIC mit der Benutzerfreundlichkeit der Assemblersprache.
Die Antworten gehen von oben nach unten. Es ist auch üblich, dass ich auf ältere oder frühere Snippets verweise.
( Link für mich selbst: bearbeiten )
Factoid:
Shakespeares Code ähnelt erwartungsgemäß einem Shakespeare-Spiel, bei dem die Variablen Zeichen im Spiel sind und sich ihr Wert ändert, wenn sie "beleidigt" oder "gelobt" werden.
Länge 1 Snippet:
I
Shakespeares Code ist in Acts unterteilt, und die Acts sind selbst in Scenes unterteilt, um die Kausalitäten zu "überspringen". Wenn Sie einen Act als definieren, Act I
bedeutet dies, dass er der erste Teil des Codes ist, der beispielsweise ausgeführt wird - aber nicht nur.
Länge 2 Snippet:
as
Wird in einem Vergleich zwischen zwei "Zeichen" verwendet.
Länge 3 Snippet:
day
Inzwischen haben Sie möglicherweise das Gefühl, dass die SPL sehr ausführlich ist. Und komisch. Und du hast noch nichts gesehen. day
in der SPL ist 1. Alle "positiven" und "neutralen" Substantive werden als betrachtet 1
, ebenso wie alle "negativen" Substantive -1
.
Länge 4 Schnipsel:
rich
Was ist rich
? Ein Adjektiv. In der SPL multiplizieren Adjektive den Wert des Substantivs, an das sie gebunden sind, mit zwei. Siehe Implementierung in Snippet 14.
Länge 5 Schnipsel:
Act I
Implementierung des ersten Snippets. Allen Akten kann ein Titel zugewiesen werden, zum Beispiel Act I: Hamlet must die!
, da alle nach der römischen Ziffer stehenden Elemente vom Parser ignoriert werden.
Länge 6 Schnipsel:
better
Jede Sprache hat Bedingungen und SPL ist keine Ausnahme. Da dies jedoch eine Sprache mit einer langen Syntax ist (und habe ich sie als verrückt bezeichnet?), Werden ihre bedingten Anweisungen lang sein. Ophelia nach Juliet fragen zu lassen Am I better than you?
ist wie if (Ophelia > Juliet)
in den meisten "normalen" Sprachen. Und natürlich können Sie auch anders herum fragen: Am I not better than you?
ist das Äquivalent von if (Ophelia < Juliet)
. Und Sie können bereits erraten, wie das =
in SPL übersetzt wird: as good as
- Verwendung von Code-Snippet 2.
Es good/better
ist jedoch nicht die einzige Möglichkeit, Vergleiche in dieser shakesperianischen Sprache anzustellen. Sie können jedes Adjektiv verwenden. Das gleiche Prinzip von Snippet 3 gilt auch hier, wobei "positive" Adjektive den Wert haben >
, während "negative" bedeuten <
.
Länge 7 Snippet:
Juliet:
Dies ist der Aufruf einer Variablen; danach seine / ihre Anweisungen / Erklärungen / was auch immer folgen wird.
Eine Einschränkung von SPL ist, dass es nur eine begrenzte Anzahl von Variablen gibt: Romeo, Julia, Hamlet, Ophelia, MacBeth und so weiter sind einige Beispiele für "Zeichen", die in einem Shakesperian-Programm vorkommen.
Länge 8 Schnipsel:
[Exeunt]
[Exeunt]
wird platziert, wenn alle "Charaktere" die "Bühne" verlassen. Hoffentlich kann ich später etwas mehr über die Interaktion zwischen Charakteren erzählen. Im Allgemeinen ist dies die letzte Anweisung eines SPL-Programms, obwohl dies [Exeunt]
nicht speziell das Terminal-Zeichen der Sprache ist. Ein anderes Beispiel finden Sie in Ausschnitt 27.
Länge 9 Snippet:
as bad as
Neun Zeichen, um nur ein =
Snippet 2 darzustellen . Habe ich schon erwähnt, dass SPL seltsam ist? Beispiele finden Sie in Snippet 30. (und ja, es gibt mehr als eine Möglichkeit, es auszugeben)
Länge 10 Schnipsel:
difference
Eine ausgefallene Art der Darstellung -
, eine Subtraktion. Sie können mit SPL mathematische Operationen durchführen, obwohl Sie wahrscheinlich einen ganzen Tag benötigen, um es richtig zu machen.
Factoid
(da ich es irgendwie geschafft habe, zehn Codefragmente zu erreichen, machen wir eine kleine Pause und haben ein weiteres Factoid über SPL)
Wenn Sie Ihren Shakesperian-Code in seiner ganzen Pracht ausführen möchten, gibt es diese Site - ich teste sie immer noch, da ich sie erst vor fünf Minuten entdeckt habe. Es gibt auch eine Möglichkeit, es mit einem Übersetzer in C zu übersetzen .
Eine andere Site zum Ausführen von SPL-Code ist diese , bei der der SPL-Code intern in eine andere esoterische Sprache übersetzt wird: Oracle PL / SQL.
Länge 11 Schnipsel:
[Exit Romeo]
Ja! Endlich kann ich über die Interaktion zwischen Charakteren sprechen! Um seinen Wert zu ändern oder mit anderen zu interagieren, muss ein "Charakter" auf der Bühne stehen und mit ihm eintreten [Enter Romeo]
. Wenn ein Zeichen an adressiert ist, aber nicht vorhanden ist, liegt ein Laufzeitfehler vor und das Programm stoppt. Denn in der SPL wird der Wert der Variablen durch die Anzahl der Namen festgelegt, die von den anderen Charakteren auf der Bühne gelobt oder beleidigt werden. Ich denke, ich sollte ein Beispiel geben, um die Verwirrung zu beseitigen, die meine lahme Erklärung hervorruft, aber vielleicht ist es am besten, ein paar Schnipsel aufzuschieben.
Länge 12 Schnipsel:
Remember me.
SPL ist ziemlich "einfach", in Ordnung - aber es hat Stapel! Wenn Romeo Julia sagt, sie solle sich "an ihn erinnern", sagt er seiner geliebten Person, sie solle den Wert der Romeo auf ihren Stapel schieben. Das Knacken des Werts erfolgt mit Recall your happy childhood!
oder Recall your love for me
oder im Grunde mit jedem Satz, der mit beginnt Recall
- der Rest ist nur künstlerischer Trieb, wie in Snippet 22.
Länge 13 Schnipsel
Let us return
Die shakesperianische Art, a goto
. Und hier kommen die Acts and Scenes zum Einsatz. Wenn Romeo Juliet sagt we shall return to Act II
(ja, es gibt mehrere Möglichkeiten, es zu schreiben), springt das Programm zu diesem bestimmten Teil des Codes. Es wird auch zusammen mit bedingten Anweisungen angezeigt.
Länge 14 Schnipsel
my little pony
Ja, es war eine Serie in den 80ern. Hier ist es 2*1
. Warum? Denn a pony
ist ein (etwas) positives Substantiv und little
ein Adjektiv. Wenn wir uns also an die Schnipsel 3 und 4 erinnern, haben wir little = "2 *"
und pony = "1"
.
Länge 15 Schnipsel
Speak thy mind!
In einem SPL - Programm, sehen Sie diese (oder Speak your mind!
, was dasselbe ist) viel . Dies gibt im Grunde den Wert jedes "Zeichens" in Ziffern, Buchstaben oder irgendetwas anderem aus, je nachdem, welcher Zeichensatz von Ihrem Computer verwendet wird. Es gibt auch das Open your mind.
, was fast dasselbe bewirkt, obwohl es nur in numerischer Form ausgegeben wird.
Länge 16 Schnipsel
You are nothing!
Wenn dir das jemand im wirklichen Leben sagt, wirst du dich deprimiert fühlen. Als Ophelia dies Hamlet im Shakespeare-Programm mitteilt, fühlt sich Hamlet wertlos. Was bedeutet das? Das Hamlet = 0
.
Länge 17 Schnipsel
Ophelia, a wench.
In einem Drehbuch müssen die Charaktere präsentiert werden, bevor das eigentliche Spiel beginnt. In den meisten Programmiersprachen müssen die Variablen vor der Verwendung deklariert werden. Da SPL eine Programmiersprache ist, die einem Drehbuch ähnelt, deklarieren Sie die Variablen so, indem Sie angeben, welche während des Programms erscheinen.
Aber was bedeutet "eine Frau"? Bedeutet dies, dass es sich um einen bestimmten (und coolen) Datentyp handelt? Nun ... Ich muss Sie leider nicht enttäuschen, aber es bedeutet nichts: Alles nach dem Komma wird vom Parser ignoriert, was bedeutet, dass Sie den empörendsten Fehler machen können, den Sie sich vorstellen können.
Länge 18 Schnipsel
lying sorry coward
-4
für alle irdischen Wesen. Warum? Weil 2*2*(-1) = -4
.
Länge 19 Schnipsel
Romeo:
Remember me.
Zu guter Letzt!!! Ich kann endlich eine vollständige korrekte Syntaxanweisung ausgeben (wenn auch eine kurze)! So verwenden Sie Snippet 12: Zuerst deklarieren Sie, wer gerade spricht, und dann schreiben Sie in der nächsten Zeile den "Dialog". Normalerweise sind nur zwei "Charaktere" auf der Bühne, um den Parser nicht traurig und verwirrt zu machen. Wenn du einen anderen "Charakter" brauchst, nimmst du einen von der Bühne und ersetzst ihn durch den neuen.
Länge 20 Schnipsel
cube of thy codpiece
Ich wollte noch ein bisschen mehr für dieses Stück ausarbeiten, aber um ehrlich zu sein, die Dinge, die ich mir ausgedacht habe, sind immer noch zu kurz für diesen Ausschnitt. Und so bringe ich dir das, was am Ende ist -1
- weil (-1) 3 = -1 (und codpiece
ein "negatives" Substantiv ist, da sie unangenehm sind und alle). SPL versteht einige aufwändigere arithmetische Operationen als eine gewisse Potenzierung und Quadratwurzel.
Factoid (ein weiterer, da wir einen weiteren Meilenstein erreicht haben)
Das "Hello World Program" in Shakesperian hat 89 Zeilen und mehr als 2400 Zeichen, wie hier zu sehen ist .
Länge 21 Schnipsel
Listen to your heart.
In Snippet 15 haben Sie etwas ausgegeben; Hier geben Sie eine Zahl in das Programm ein. Wenn Sie ein Zeichen eingeben möchten, verwenden Sie Open your mind.
stattdessen. Selbstverständlich wird dieser Wert in dem "Zeichen" gespeichert, mit dem gesprochen wird.
Länge 22 Schnipsel
Recall your childhood!
Hiermit wird eine Ganzzahl aus einem Stapel entfernt, wie im Snippet 12 erläutert. Wenn Ophelia Hamlet den oben genannten Satz sagt, veranlasst dies Hamlet, eine Ganzzahl aus seinem Stapel zu nehmen und diesen Wert anzunehmen.
Natürlich, solange das Wort recall
den Satz beginnt, können Sie den Rest mit so ziemlich allem füllen, was Ihr kreativer Shakesperianer wünscht.
Länge 23 Schnipsel
Are you better than me?
Implementierung von Snippet 6. Wenn ein "Charakter" eine Frage wie diese an einen anderen stellt, entspricht das, was er tut, den if (x > y)
üblichen Programmiersprachen. Das Follow-up dieser Anweisung muss verzögert werden, bis ich mehr Zeichen zur Verfügung habe.
Länge 24 Schnipsel
[Enter Romeo and Juliet]
Ja, "Zeichen" können paarweise eingegeben werden. Es ist nicht erforderlich, dass ein "Charakter" die Bühne betritt, gefolgt von einem anderen.
Länge 25 Schnipsel
remainder of the quotient
25 Zeichen nur zum Schreiben ein %
. 25 Zeichen, um den Rest einer Division zu haben. Und um es zu benutzen? Nun, das ist sogar noch größer - siehe Ausschnitt 75.
Länge 26 Schnipsel
Let us return to scene II.
Hier ist es eine goto
in SPL, die so funktioniert, wie man es in einer Programmiersprache erwarten würde. Eine Sache ist: Sie können zwischen Szenen im selben Akt und zwischen Akten springen; Sie können jedoch nicht zwischen Szenen in verschiedenen Aktionen springen.
Länge 27 Schnipsel
[Exeunt Ophelia and Hamlet]
Wenn mehr als ein "Charakter" die Bühne verlässt, wird anstelle des Exit
lateinischen Wortes "Exeunt" das lateinische Wort "Exeunt" verwendet. Manchmal kann es einfach durch Snippet 8 ersetzt werden.
Länge 28 Schnipsel
Scene I: Ophelia's flattery.
Szene deklarieren. Wie Sie bereits erwarten können, wenn Sie mit mir fertig geworden sind, ist das Wichtigste das Scene I
, der Rest ist künstlerischer Flaum.
Es wurden einige Compiler erstellt (wie dieser, der von SPL nach C kompiliert und in Python geschrieben wurde ), die sich stattdessen auf den Text nach der Nummerierung des Akts / der Szene beziehen. Während logischer (immerhin, während eines Stücks, wenn die Charaktere Zeilen wie "Lass uns zu Akt I zurückkehren" sagen, kann dies als dumm angesehen werden), halte ich mich an den ursprünglichen Weg.
Länge 29 Schnipsel
You pretty little warm thing!
Ja, noch eine Konstante (da wir viel mehr Zeichen benötigen , um arithmetische Operationen auszuführen). Dieser ist gleich 8
, weil 2*2*2*1 = 8
.
Länge 30 Schnipsel
You are as cowardly as Hamlet!
Dies Romeo gegenüber zu sagen, bedeutet dies Romeo = Hamlet
. Wie Snippet 9.
Factoid (ja, ein weiterer Orientierungspunkt erreicht!)
Diese Sprache wurde für eine Zuweisung in einem Syntaxanalysekurs erstellt - daher wurde von den Autoren kein SPL-Compiler erstellt. Mehr: Es scheint, dass die Autoren von SPL ihre Verbindungen zu ihrer Schöpfung abgebrochen haben, da seit 2001 anscheinend nichts an der Sprache geändert wurde ...
Länge 31 Schnipsel
Am I as horrid as a flirt-gill?
Ja, ich weiß, es wiederholt sich ein wenig Snippet 23, obwohl wir hier den "Charakter" vergleichen, der mit einem "Flirt-Gill" spricht (von, wenn Sie es vorziehen, if (Ophelia == -1)
). Die Sache ist...
Länge 32 Schnipsel
If so, let us return to scene I.
... nun kann ich die then
von SPL, den bedingten Sprung zu und die Shakesperian-Methode zur Implementierung von Schleifen vorstellen . Sie können beispielsweise Romeo veranlassen, den Wert anzunehmen 0
, seinen Wert zu erhöhen, während er eine andere Aufgabe ausführt, und anhalten, wenn er 10 Jahre alt ist, und anschließend mit dem Programm fortfahren.
Länge 33 Schnipsel
If not, let us return to scene I.
Nur eine Erinnerung, dass wir stattdessen mit einer anderen Szene fortfahren können, wenn die Bedingung, auf die wir getestet haben, falsch ist .
Länge 34 Schnipsel
Open your mind! Remember yourself.
Zwei Anweisungen hintereinander, yippie! Der erste liest ein Zeichen, der zweite schiebt es in den Speicherstapel des anderen Zeichens.
Länge 35 Schnipsel
Act I: Death!
Scene I: Oh, shit.
Die richtige Art, eine Handlung und eine Szene zu deklarieren. Fügen Sie künstlerischen Brei geschmackvoll hinzu.
Länge 36 Schnipsel
Thou art as sweet as a summer's day!
Eine andere Art zu sagen, dass der "Charakter", mit dem gesprochen wird, den Wert erhält 1
- weil die Sommertage schön und angenehm sind.
Länge 37 Schnipsel
Art thou more cunning than the Ghost?
Ophelia, die Hamlet diese Frage stellt, bedeutet, dies in eine weniger lesbare Programmiersprache zu übersetzen if (Hamlet > the Ghost)
. Es ist wieder Snippet 23, ja - aber es zeigt Ihnen, dass es nicht erforderlich ist, die "Charaktere" zu fragen, ob sie besser sind als die anderen: Jede andere Frage wird auch funktionieren.
Länge 38 Schnipsel
[Enter the Ghost, Romeo and the Ghost]
Ja, ich rufe ein "Zeichen" zweimal auf, weil ich wollte, dass das Programm mir einen Fehler gibt. Das Aufrufen eines "Charakters", der sich bereits auf der Bühne befindet, oder das Aufrufen eines "Charakters", der nicht zum Beenden bereit ist, bereitet dem Parser / Compiler große Sorgen.
Länge 39 Schnipsel
the sum of a fat lazy pig and yourself!
Die vollständige Anweisung sieht besser aus, ich gebe Ihnen das, aber ... hier ist unsere erste arithmetische Operation! Was bedeutet das eigentlich? Nun, pig
ist ein dreckiges Tier (wenn auch lecker) -1
, hat also zwei Adjektive, was fat lazy pig
gleich bedeutet 2*2*(-1) = -4
. Aber was ist mit yourself
? Es ist ein reflexives Pronoum, weder ein Name noch ein Adjektiv. Denken Sie daran, dass SPL auf Dialogen zwischen "Zeichen" basiert. Somit yourself
bezieht sich auf die anderen „Zeichen“ auf der Bühne. So kommen wir am Ende an und entdecken, dass "die Summe eines fetten faulen Schweins und Sie selbst" tatsächlich ist -4 + x
.
Länge 40 Schnipsel
the sum of a squirrel and a white horse.
Ja, eine andere Summe, aber diese ist einfacher als Ausschnitt 39. Dies ist nur 1 + 2
- 3
, wenn meine Mathematik korrekt ist.
Factoid (immer noch bei mir nach diesen vierzig künstlerischen Schnipselchen? Du hast einen Preis verdient.)
SPL in der Version 1.2.1 kann hier heruntergeladen werden .
Länge 41 Schnipsel
Juliet:
Speak thy mind!
[Exit Romeo]
Manchmal werden "Charaktere" nur auf die Bühne gerufen, um ihren Wert zu ändern - was in einem realen Spiel etwas Seltsames wäre. Wie auch immer, Juliet lässt ihren geliebten Romeo seinen gespeicherten Wert ausdrucken, woraufhin er die Bühne verlässt.
Länge 42 Schnipsel
Speak YOUR mind! You are as bad as Hamlet!
Wieder zwei Anweisungen in einer Zeile (wir können mehrere haben, aber die Snippet-Länge erlaubt es noch nicht); Hier haben wir einen "Charakter", der einen anderen auffordert, seinen Wert auszugeben und den Wert anzunehmen, den Hamlet hat. Verwirrend? Mayhap.
Länge 43 Schnipsel
Am I as horrid as a half-witted flirt-gill?
Juliet, die dies fragt, bedeutet nicht, dass sie ein geringes Ansehen hat (obwohl dies im wirklichen Leben der Fall sein könnte). Es ist einfach eine andere if
, wie die Ausschnitte 23 und 37. Oh, ich hätte es fast vergessen: Das bedeutet übersetzt if (Juliet == -2)
.
Länge 44 Schnipsel
You are as evil as the square root of Romeo!
Ja, Quadratwurzeln sind böse, wusstest du nicht? Wie auch immer, diese Anweisung ist einfach genug, um zu verstehen, was sie tut: Sie schreibt das gesprochene "Zeichen" dem Wert der Quadratwurzel des in Romeo gespeicherten Werts zu.
Länge 45 Schnipsel
Hamlet:
Art thou more cunning than the Ghost?
Snippet 37 richtig geschrieben mit dem Charakter, der die Zeile spricht.
Länge 46 Schnipsel
the product of a rural town and my rich purse.
Okay ... SPL ist wahrscheinlich die einzige Sprache auf der Welt, mit der Sie Städte mit Geldbörsen multiplizieren können. Das heißt, (2*1)*(2*1)
was, wenn ich mich nicht sehr irre, gleich ist 4
.
Länge 47 Schnipsel
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
Ich gebe dir das: Es ist vielleicht einer der bizarrsten Dialoge in der Geschichte. Aber es ist das, was Sie bekommen, wenn Sie sich für eine seltsame Sprache entscheiden, die Sie präsentieren möchten. Romeo und Julia sagen sich kurz, dass sie ihre Werte ausgeben sollen.
Länge 48 Schnipsel
You lying fatherless useless half-witted coward!
Übersetzen es direkt 2*2*2*2*(-1)
. -16
, richtig?
Länge 49 Schnipsel
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
Ein Beispiel zum Beenden eines Programms in SPL. Sie können eine Szene speziell für diese deklarieren (obwohl dies nicht erforderlich ist). Dann fordert Hamlet einen anderen "Charakter" auf, seinen Wert auszugeben, und alle verlassen die Bühne. Und ja, alle müssen von der Bühne verschwinden.
Länge 50 Schnipsel
Othello, a young squire.
Lady Macbeth, an old fart.
Mehr "Charakter" -Präsentation vor der richtigen Anleitung. Wie immer ist das Einzige, was für den Compiler von Bedeutung ist, Othello
und Lady Macbeth
so ist der Rest der Reihe zu gewinnen ...
Eine weitere Sache: Die "Charaktere" müssen nicht miteinander verwandt sein, um in einem SPL-Programm zu erscheinen - Sie können also Romeo, Othello und Hamlet im selben Stück haben.
Factoid (ein halbes Jahrhundert von diesen Dingen? Puh! Danach denke ich, ich werde William Shakespeare verabscheuen ...)
Der vor einiger Zeit erwähnte und von den SPL-Entwicklern entwickelte SPL-C-Übersetzer basierte auf Flex und Bison .
Länge 51 Schnipsel
Othello:
Recall your great dreams. Speak your mind!
(So krank von Romeo, Julia und Hamlet ... lass uns zur Abwechslung Othello holen!)
Recall
Wie Sie sich denken können, ist hier der Schlüssel. Das "Zeichen", das Othello anspricht, nimmt einen Wert von seinem Stapel, nimmt diesen Wert an und gibt ihn anschließend aus.
Länge 52 Schnipsel
Thou art as pretty as the sum of thyself and my dog!
Noch eine Summe. Gähnen. Vorausgesetzt, dieser ist an Hamlet gerichtet, heißt das Hamlet = Hamlet + 1
. Oder Hamlet += 1
. Oder Hamlet++
.
Länge 53 Schnipsel
Romeo:
You are as vile as the sum of me and yourself!
Ah, ja, etwas, das ich zuvor vergessen habe: Die sprechenden "Charaktere" können sich in ihren eigenen Zeilen ausdrücken.
Länge 54 Schnipsel
Juliet:
Is the sum of Romeo and me as good as nothing?
Ein weiteres Beispiel für das vorherige Snippet, das in einer Bedingung enthalten ist. Also, was wir hier haben, ist if (Romeo + Juliet == 0)
.
Länge 55 Schnipsel
Juliet:
You are as lovely as the sweetest reddest rose.
Hier lobt Julia den "Charakter", mit dem sie spricht (nehmen wir an, es ist Romeo, um Shakespeares willen) und erklärt, dass er / sie 4 ist. Ja, eine andere Zuordnung von Werten.
Länge 56 Schnipsel
Othello:
You lying fatherless useless half-witted coward!
Snippet 48 richtig gemacht, mit einem "Charakter". Wenn Sie zu faul sind, um nach oben zu scrollen (wie ich es tun würde), bedeutet dies, dass derjenige, der beleidigt wird, den Wert -16 erhält.
Länge 57 Schnipsel
Romeo:
If not, let us return to Act I. Recall thy riches!
Ich habe bereits erklärt, wie die Bedingungen bei SPL allgemein funktionieren. Es ist jedoch eine umfassendere Inline-Analyse erforderlich. Wir haben else
hier nicht: In diesem Beispiel würde das Programm, wenn die Bedingung fehlschlägt, zu Schritt I zurückkehren. aber wenn es wahr wäre, würde es mit der nächsten Anweisung fortfahren, die Recall
ein Pop vom Stapel ist, das heißt.
Länge 58 Schnipsel
Romeo:
You are as disgusting as the square root of Juliet!
Schnipsel 44 greifen und präsentieren, wie die Anweisung präsentiert werden soll. Wenn dies ein Dialog zwischen Romeo und Othello wäre, könnten wir dies auf Java als übersetzen Othello = Math.sqrt(Juliet)
.
Länge 59 Schnipsel
Othello:
You are as vile as the sum of yourself and a toad!
OK, wenn Othello mit Romeo spricht, wäre das gleichbedeutend mit Romeo+(-1)
; Romeo--
kurz gesagt. Ziemlich einfach, oder? Das ist SPL für Sie.
Länge 60 Schnipsel
Is the quotient between the Ghost and me as good as nothing?
Kurz gesagt, if (The Ghost/Hamlet == 0)
angenommen, das "Ich" gehört Hamlet.
Länge 61 Schnipsel
Thou art as handsome as the sum of yourself and my chihuahua!
Sobald Sie die Schichten von Wörtern und Beleidigungen wegschälen, bemerken Sie, dass SPL eine ziemlich grundlegende Sache ist, ohne coole Funktionen und Sachen. Wir haben also eine Menge arithmetischer Funktionen im Körper des Programms. Wenn dieses also an Julia gerichtet wäre, wäre es gleichbedeutend mit Juliet++
.
Länge 62 Schnipsel
twice the difference between a mistletoe and a oozing blister!
Ja, ja, mehr Rechenoperationen. Diese 62 Byte SPL können ungefähr in übersetzt werden 2*(1-2*(-1))
. Das wäre eine ziemlich großartige Golfsprache, oder? Richtig.
Länge 63 Schnipsel
You lying stupid fatherless rotten stinking half-witted coward!
Schnipsel 48 ausgegeben -16, diese ist gleich -64: 2*2*2*2*2*2*(-1)
.
Länge 64 Schnipsel
your coward sorry little stuffed misused dusty oozing rotten sky
Soweit ich SPL verstehe, ist dies absolut legitim. Sie haben eine ganze Menge beleidigender Adjektive, die von einem "positiven" Nomen ausgehen. Da Adjektive keine spezielle Unterscheidung haben, ob sie negativ sind oder nicht (ihr einziger Wert ist das Multiplizieren der Zahl rechts von ihnen mit zwei), können wir völlig dumme Sätze wie diesen haben. Welches entspricht 256. Weil 2*2*2*2*2*2*2*2*1=256
.
Länge 65 Schnipsel
You are nothing! You are as vile as the sum of thyself and a pig.
Hmm, so viel Hass, nicht wahr? Also, was wir hier haben, ist gleichbedeutend mit y=0; y=y+(-1);
Wahrscheinlich hätte man "golfen" können You are a pig!
, aber heh.
Länge 66 Schnipsel
You are as beautiful as the difference between Juliet and thyself.
Also, zieh Julia von dir ab, was? Das hier ist ziemlich einfach zu entschlüsseln: Romeo=Juliet-Romeo;
Vorausgesetzt, es ist Romeo, mit dem gesprochen wird.
Länge 67 Schnipsel
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
Wie die meisten Bedingungen auf SPL funktionieren. Sie testen den Ausdruck und springen zu einem anderen Teil des Programms, wenn dies zutrifft (oder nicht: siehe Abschnitt 33). Andernfalls fahren Sie mit dem nächsten Satz fort.
Länge 68 Schnipsel
The Ghost:
You are as small as the sum of yourself and a stone wall!
Ja, ja, ich werde ein bisschen eintönig. Aber SPL ist so. Wie ich bereits sagte, sind seine Ausdrücke eine Mischung aus arithmetischen Operationen. Somit ist dies eine weitere Inkrementierung - da stone wall
es sich um ein neutrales "Nomen" handelt.
Länge 69 Schnipsel
Thou art as disgusting as the difference between Othello and thyself!
Anstelle einer Summe haben wir die Subtraktion zwischen zwei Zeichen, Othello und dem, mit dem gesprochen wird.
Länge 70 Schnipsel
You are as handsome as the sum of Romeo and his black lazy squirrel!
Wir kehren zu den Ergänzungen zurück, ja - nennen Sie mich formelhaft, heh. Wir übersetzen dies zu Romeo + 2*2*1
.
Länge 71 Schnipsel
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
Eine Szene kann so klein sein. Juliet
Wenn sie die Bühne betritt, fordert Othello sie auf, ihren gespeicherten Wert auszugeben, und sie verlässt die Bühne wieder.
Länge 72 Schnipsel
twice the difference between a mistletoe and an oozing infected blister!
Noch eine arithmetische Operation - weil SPL mit ihnen durchsetzt ist. Wir können dies übersetzen 2*(1-2*2*(-1))
.
Länge 73 Schnipsel
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
Vier Anweisungen hintereinander ?! Eigentlich bin ich ziemlich stolz auf mich. Nehmen wir jedenfalls an, dass dies ein Dialog zwischen Romeo und Julia ist (und er spricht): Dies bedeutet, dass Julias Wert bei 0 beginnt; Dann wird Julia den Wert von Romeo in ihren Speicherstapel verschieben, ihn platzieren und in der eingegebenen Form ausgeben. Einfach, richtig?
Länge 74 Schnipsel
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
Ja, ja, langweiliges Beispiel, ich weiß. Aber das ist es X = (Romeo + 1) + 1
.
Länge 75 Schnipsel
Is the remainder of the quotient between Othello and me as good as nothing?
Nun, das ist ziemlich einfach. Wenn Ihre Dekodierungsfähigkeiten nicht ordnungsgemäß funktionieren, wird dies in übersetzt if (Othello % X == 0)
.
Länge 76 Schnipsel
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
Der Sprung von Snippet 26 mit einem Ausdruck davor. Ein goto
on SPL ist nicht immer in der Nähe einer Bedingung zu finden, es kann auch so sein - und diese Art von goto
wird natürlich immer am Ende eines Akts oder einer Szene zu finden sein, da Anweisungen danach niemals kompiliert / ausgeführt werden. Der erste Befehl ist ziemlich einfach: x=x+1
.
Länge 77 Schnipsel
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
Also haben wir Juliet und Hamlet auf der Bühne; aber wir brauchen den Wert von Romeo. Um den Compiler vor unangenehmen Kopfschmerzen zu bewahren, entfernen wir zunächst Hamlet von der Bühne (obwohl es Juliet gewesen sein könnte), und fordern Romeo auf, auf die Bühne zu kommen. Juliet gibt ihm die Anweisung, a auszugeben Dann verlässt Romeo die Bühne und Hamlet kehrt zurück. Ziemlich einfach und unkompliziert.
Länge 78 Schnipsel
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
The Ghost (Hamlets verstorbener Vater) fordert Lady Macbeth auf, ihren Wert auszugeben, während sie The Ghost auffordert, eine Zahl zu lesen und auf seinen Stapel zu schieben.
Translate[Scale[Rectangle, 80], {0, 0, 100}]
hätten, würde das große WortRectangle
vor Ihrem Monitor schweben?