Shakespeare Programming Language fue creado en 2001 por dos estudiantes suecos, Karl Hasselström y Jon Åslund, y combina, como proclaman los autores ,
La expresividad de BASIC con la facilidad de uso del lenguaje ensamblador.
Las respuestas van de arriba a abajo. Además, es común verme referirme a fragmentos anteriores o anteriores.
( enlace para mí: editar )
Hecho:
El código de Shakespeare se asemeja, como cabría esperar, a una obra de Shakespeare, donde las variables son personajes de la obra y su valor cambia a medida que son "insultados" o alabados.
Fragmento de longitud 1:
I
El código de Shakespeare se divide en Actos, y los actos se dividen en Escenas, para las causalidades de "salto a". Definir un acto como Act I
significa que será la primera parte del código que se ejecutará, por ejemplo, pero no solo.
Fragmento de longitud 2:
as
Utilizado en una comparativa entre dos "personajes".
Fragmento de longitud 3:
day
A estas alturas, puede tener la sensación de que SPL es muy detallado. Y raro Y aún no has visto nada. day
, en SPL, es 1. Todos los sustantivos "positivos" y "neutros" se consideran 1
, así como todos los sustantivos "negativos" -1
.
Fragmento de longitud 4:
rich
¿Qué es rich
? Un adjetivo. En SPL, los adjetivos hacen que el valor del sustantivo al que están unidos se multiplique por dos. Ver implementación en el fragmento 14.
Fragmento de longitud 5:
Act I
Implementación del primer fragmento. A todos los actos se les puede dar un título, como Act I: Hamlet must die!
, ya que el analizador ignora todo después del número romano.
Fragmento de longitud 6:
better
Cada idioma tiene condiciones, y SPL no es una excepción. Excepto que, dado que este es un lenguaje con una larga sintaxis (¿lo mencioné como extraño?), Sus declaraciones condicionales serán largas. Hacer que Ophelia le pregunte a Juliet Am I better than you?
es como tener la if (Ophelia > Juliet)
mayoría de los idiomas "normales". Y, por supuesto, puede preguntar al revés: Am I not better than you?
es el equivalente de if (Ophelia < Juliet)
. Y ya puede adivinar cómo =
se traduce al SPL: as good as
- uso del fragmento de código 2.
Sin embargo, good/better
no es la única forma de hacer comparaciones en este lenguaje shakesperiano, puede usar cualquier adjetivo. El mismo principio del fragmento 3 también se aplica aquí, con adjetivos "positivos" que tienen el valor >
, mientras que los "negativos" significan <
.
Fragmento de longitud 7:
Juliet:
Esta es la invocación de una variable; después de esto, sus instrucciones / declaraciones / lo que sea que siga.
Una limitación de SPL es que tiene un número limitado de variables: Romeo, Juliet, Hamlet, Ophelia, MacBeth, etc., son algunos ejemplos de "personajes" que aparecerán en un programa de Shakesper.
Fragmento de longitud 8:
[Exeunt]
[Exeunt]
se coloca cuando todos los "personajes" salen del "escenario". Espero poder elaborar un poco más adelante sobre la interacción entre los personajes. Generalmente es la última instrucción de cualquier programa SPL, aunque [Exeunt]
no es específicamente el "carácter" terminal del lenguaje. Para otro ejemplo, vea el fragmento 27.
Fragmento de longitud 9:
as bad as
Nueve caracteres solo para representar un mero =
uso del fragmento 2. ¿He mencionado que SPL es extraño? Ver fragmento 30 para ejemplos. (y sí, hay más de una forma de generarlo)
Fragmento de longitud 10:
difference
Una forma elegante de representar -
, una resta. Puede realizar operaciones matemáticas en SPL, aunque probablemente necesite un día completo para hacerlo bien.
Factoid
(ya que de alguna manera logré alcanzar diez fragmentos de código, tomemos un descanso y tengamos otro factoid sobre SPL)
Si desea ejecutar su código shakesperiano en todo su esplendor, existe este sitio , aún lo estoy probando, ya que lo descubrí hace apenas cinco minutos. También hay una manera de traducirlo a C usando un traductor .
Otro sitio para ejecutar código SPL es este que funciona traduciendo internamente el código SPL a otro lenguaje esotérico: Oracle PL / SQL.
Fragmento de longitud 11:
[Exit Romeo]
¡Si! ¡Por fin puedo hablar sobre la interacción entre los personajes! Para que su valor cambie o para interactuar con otros, un "personaje" debe estar en el escenario, entrando con [Enter Romeo]
. Si se dirige a un personaje pero no está presente, hay un error de tiempo de ejecución y el programa se detiene. Porque, en SPL, el valor de las variables se establece por la cantidad de nombres con los que los elogian, o los insultan, los otros personajes en el escenario. Siento que debería poner un ejemplo para aclarar la confusión que puede generar mi cojera explicación, pero tal vez sea mejor retrasar algunos fragmentos.
Fragmento de longitud 12:
Remember me.
SPL es bastante "básico", está bien, ¡pero tiene pilas! Cuando, por ejemplo, Romeo le dice a Juliet que "lo recuerde", en realidad le dice a su ser querido que empuje el valor del Romeo a su pila. Hacer estallar el valor se hace con Recall your happy childhood!
, o Recall your love for me
, básicamente, cualquier oración que comience Recall
; el resto es solo tontería artística, como el fragmento 22.
Fragmento de longitud 13
Let us return
La forma shakesperiana de tener un goto
. Y aquí es donde los actos y escenas son útiles. Si Romeo le dice a Julieta we shall return to Act II
(sí, de nuevo, hay varias formas de escribirlo), el programa saltará a esa parte específica del código. También se ve junto con declaraciones condicionales.
Fragmento de longitud 14
my little pony
Sí, fue una serie en los años 80. Aquí está 2*1
. ¿Por qué? Porque a pony
es un sustantivo (algo) positivo y little
es un adjetivo. Entonces, recordando los fragmentos 3 y 4, tenemos little = "2 *"
y pony = "1"
.
Fragmento de longitud 15
Speak thy mind!
En un programa SPL, verá esto (o lo Speak your mind!
que es lo mismo) mucho . Básicamente, esto genera el valor de cada "carácter" en dígitos, letras o cualquier otra cosa, dependiendo del juego de caracteres que esté utilizando su computadora. También hay Open your mind.
que hace casi lo mismo, aunque solo se genera en forma numérica.
Fragmento de longitud 16
You are nothing!
Cuando alguien te dice esto en la vida real, te sentirás deprimido. Cuando Ophelia le dice esto a Hamlet en la programación de Shakespeare, Hamlet se siente inútil. ¿Qué significa esto? Eso Hamlet = 0
.
Fragmento de longitud 17
Ophelia, a wench.
En un guión, antes de que comience la obra, los personajes deben ser presentados. En la mayoría de los lenguajes de programación, las variables también deben declararse antes de su uso. Al ver que SPL es un lenguaje de programación que se asemeja a un guión, así es como declara sus variables, indicando cuáles son las que aparecen durante el programa.
Pero, ¿qué significa "una moza"? ¿Significa que es un nombre de tipo de datos específico (y genial)? Bueno ... odio decepcionarte, pero no significa nada: todo después de que la coma es ignorada por el analizador, lo que significa que puedes poner allí la tontería más escandalosa que puedas imaginar.
Longitud 18 fragmento
lying sorry coward
-4
para todas las criaturas terrenales. ¿Por qué? Debido 2*2*(-1) = -4
.
Fragmento de longitud 19
Romeo:
Remember me.
¡¡¡Al final!!! ¡Finalmente puedo generar una instrucción de sintaxis correcta completa (aunque sea breve)! Así es como usas el fragmento 12: primero declaras quién está hablando, luego en la siguiente línea escribes el "diálogo". Normalmente, solo dos "personajes" están en el escenario, para evitar que el analizador esté triste y confundido. Cuando necesitas otro "personaje", tomas uno del escenario y lo reemplazas por uno nuevo.
Fragmento de longitud 20
cube of thy codpiece
Quería elaborar un poco más para este, pero, a decir verdad, las cosas que se me ocurren todavía son demasiado cortas para esta longitud de fragmento. Y, entonces, les traigo esto, que termina siendo -1
- porque (-1) 3 = -1 (y codpiece
es un sustantivo "negativo", ya que son incómodos y todo). SPL entiende algunas operaciones aritméticas más elaboradas como algunas exponenciaciones y raíces cuadradas.
Factoid (otro más, ya que hemos alcanzado otro hito)
El "Programa Hello World" en Shakesperian tiene 89 líneas y más de 2400 caracteres de largo, como se ve aquí .
Fragmento de longitud 21
Listen to your heart.
En el fragmento 15, sacaste algo; aquí, ingresa un número al programa. Si desea ingresar un carácter, lo usará Open your mind.
en su lugar. Y, no hace falta decir que este valor se almacenará en el "personaje" con el que se habla.
Fragmento de longitud 22
Recall your childhood!
Hacer estallar un número entero de una pila, como se explica en el fragmento 12. Cuando, por ejemplo, Ofelia le dice a Hamlet la oración antes mencionada, hace que Hamlet tome un número entero de su pila y asuma ese valor.
Por supuesto que, siempre que la palabra recall
comience la oración, puedes completar el resto con casi cualquier cosa que tu creativa mente shakesperiana desee.
Fragmento de longitud 23
Are you better than me?
Implementación del fragmento 6. Cuando un "personaje" le hace una pregunta como esta a otro, lo que él / ella está haciendo equivale a if (x > y)
los lenguajes de programación más comunes. El seguimiento de esta instrucción debe retrasarse hasta que tenga más caracteres disponibles.
Longitud 24 fragmento
[Enter Romeo and Juliet]
Sí, los "caracteres" pueden ingresar en pares. No es necesario tener un "personaje" entrando en el escenario, seguido de otro.
Fragmento de longitud 25
remainder of the quotient
25 caracteres solo para escribir a %
. 25 personajes para tener el resto de una división. ¿Y para usarlo? Bueno, eso es aún más grande: vea el fragmento 75.
Longitud 26 fragmento
Let us return to scene II.
Aquí está, un goto
en SPL, que funciona como cabría esperar en un lenguaje de programación. Una cosa es: puedes saltar entre escenas en el mismo acto, y entre actos; pero no puedes saltar entre escenas en diferentes actos.
Fragmento de longitud 27
[Exeunt Ophelia and Hamlet]
Cuando más de un "personaje" abandona el escenario, en lugar de Exit
seguir la tradición con la naturaleza teatral de SPL, se usa la palabra latina "Exeunt". A veces se puede reemplazar solo por el fragmento 8.
Fragmento de longitud 28
Scene I: Ophelia's flattery.
Declarando una escena. Como ya puede esperar si me ha estado haciendo frente, lo importante es que Scene I
, el resto es una pelusa artística.
Se han realizado algunos compiladores (como este que compila de SPL a C, escritos en Python ) que, en cambio, hacen referencia al texto después de la numeración de Act / Scene. Si bien es más lógico (después de todo, durante una obra, hacer que los personajes digan líneas como "volvamos al Acto I" puede considerarse una tontería), me mantengo en la forma original.
Fragmento de longitud 29
You pretty little warm thing!
Sí, otra constante más (ya que necesitamos muchos más caracteres para tener operaciones aritméticas). Este es igual a 8
, porque 2*2*2*1 = 8
.
Fragmento de longitud 30
You are as cowardly as Hamlet!
Decir esto a, por ejemplo, Romeo, significa eso Romeo = Hamlet
. Como fragmento 9.
Factoid (sí, ¡otro hito alcanzado!)
Este lenguaje fue creado para una tarea en un curso de Análisis de sintaxis, por lo tanto, los autores no crearon ningún compilador SPL. Más: parece que los autores de SPL han roto sus lazos con su creación, ya que nada parece haber sido modificado en el lenguaje desde 2001 ...
Fragmento de longitud 31
Am I as horrid as a flirt-gill?
Sí, lo sé, es un fragmento 23 algo repetitivo, aunque, aquí, estamos comparando el "personaje" que habla con un "coqueteo" (de, si lo prefiere if (Ophelia == -1)
). La cosa es...
Fragmento de longitud 32
If so, let us return to scene I.
... ahora puedo presentar el then
SPL, el salto condicional y la forma Shakesperiana de implementar bucles. Puede, por ejemplo, hacer que Romeo asuma el valor 0
, incremente su valor mientras realiza alguna otra tarea y se detenga cuando llegue a 10, luego continúe con el programa.
Fragmento de longitud 33
If not, let us return to scene I.
Solo un recordatorio de que, en cambio, podemos avanzar a otra escena si la condición que probamos es falsa .
Fragmento de longitud 34
Open your mind! Remember yourself.
¡Dos instrucciones seguidas, yippie! El primero lee un personaje, el segundo lo empuja a la pila de memoria del otro personaje.
Fragmento de longitud 35
Act I: Death!
Scene I: Oh, shit.
La forma correcta de declarar un acto y una escena. Agregue papilla artística con buen gusto.
Fragmento de longitud 36
Thou art as sweet as a summer's day!
Otra forma de decir que el "personaje" con el que se habla recibirá el valor 1
, porque los días de verano son agradables y agradables.
Longitud 37 fragmento
Art thou more cunning than the Ghost?
Ofelia hacer esta pregunta a los medios de Hamlet, que se traduce a un lenguaje de programación menos legible, if (Hamlet > the Ghost)
. Es el fragmento 23 de nuevo, sí, pero demuestra que no es necesario preguntar a los "personajes" si son mejores entre sí: cualquier otra pregunta también funcionará.
Longitud 38 fragmento
[Enter the Ghost, Romeo and the Ghost]
Sí, estoy llamando a un "personaje" dos veces, porque quería que el programa me diera un error. Llamar a un "personaje" que ya está en el escenario, o decirle a uno que está ausente que salga, causará un gran dolor al analizador / compilador.
Longitud 39 fragmento
the sum of a fat lazy pig and yourself!
La instrucción completa se ve mejor que esto, te daré eso, pero ... ¡aquí está nuestra primera operación aritmética! ¿Qué significa todo en realidad? Bueno, pig
es un animal sucio (aunque sabroso), por lo que es equivalente a -1
, tiene dos adjetivos, lo que significa fat lazy pig
igual 2*2*(-1) = -4
. ¿Pero que pasa yourself
? Es un pronombre reflexivo, no un nombre ni un adjetivo. Bueno, recuerde que SPL se basa en diálogos entre "personajes"; así, se yourself
refiere al otro "personaje" en el escenario. Entonces, llegamos al final y descubrimos que "la suma de un cerdo gordo y perezoso y usted mismo" es, de hecho -4 + x
,.
Fragmento de longitud 40
the sum of a squirrel and a white horse.
Sí, otra suma, pero éste es más sencillo que fragmento 39. Esto es simplemente 1 + 2
- 3
, si mis matemáticas son correctas.
Factoid (¿sigues conmigo después de estos cuarenta fragmentos de pelusa artística? Te mereces un premio).
SPL, en su versión 1.2.1, se puede descargar aquí .
Fragmento de longitud 41
Juliet:
Speak thy mind!
[Exit Romeo]
A veces, los "personajes" solo son llamados al escenario para cambiar su valor, lo que, en una obra de teatro real, sería algo bastante extraño. De todos modos, aquí, Julieta hace que su amado Romeo imprima su valor almacenado, después de lo cual sale del escenario.
Fragmento de longitud 42
Speak YOUR mind! You are as bad as Hamlet!
De nuevo dos instrucciones en una línea (podemos tener múltiples, pero la longitud del fragmento aún no lo permite); aquí tenemos un "personaje" que le dice a otro que muestre su valor y asuma el valor que tenga Hamlet. ¿Confuso? Quizás.
Fragmento de longitud 43
Am I as horrid as a half-witted flirt-gill?
Juliet preguntando esto no significa que tenga baja estima (aunque podría tenerla en la vida real); es simplemente otro if
, como los fragmentos 23 y 37. Oh, casi lo olvido: esto se traduce en if (Juliet == -2)
.
Longitud 44 fragmento
You are as evil as the square root of Romeo!
Sí, las raíces cuadradas son malvadas, ¿no lo sabías? De todos modos, esta instrucción es lo suficientemente sencilla como para comprender lo que hace: atribuye el "carácter" que se habla al valor de la raíz cuadrada del valor almacenado en Romeo.
Fragmento de longitud 45
Hamlet:
Art thou more cunning than the Ghost?
Fragmento 37 escrito correctamente con el personaje que habla la línea.
Fragmento de longitud 46
the product of a rural town and my rich purse.
De acuerdo ... de todos modos, SPL puede ser el único idioma en el mundo que te permite multiplicar ciudades con monederos. Esto significa (2*1)*(2*1)
que, si no estoy muy equivocado, es igual a 4
.
Fragmento de longitud 47
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
Te lo diré: puede ser uno de los diálogos más extraños de la historia. Pero es lo que obtienes cuando eliges un idioma extraño para mostrar. Romeo y Julieta se están diciendo, en resumen, que expresen sus valores.
Longitud 48 fragmento
You lying fatherless useless half-witted coward!
Traducirlo directamente 2*2*2*2*(-1)
. -16
, ¿derecho?
Fragmento de longitud 49
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
Un ejemplo de cómo terminar un programa en SPL. Puedes declarar una escena específicamente para ella (aunque no es obligatorio), luego Hamlet le pide a otro "personaje" que muestre su valor, y luego todos salen del escenario. Y sí, se requiere que todos salgan del escenario.
Fragmento de longitud 50
Othello, a young squire.
Lady Macbeth, an old fart.
Más presentación de "personaje", antes de las instrucciones adecuadas. Como siempre, lo único que le importa al compilador es Othello
y Lady Macbeth
, por lo que el resto de la línea está en juego ...
Una cosa más: los "personajes" no tienen que estar relacionados entre sí para aparecer en un programa SPL, por lo que puedes tener a Romeo, Othello y Hamlet en la misma jugada.
Factoid (¿medio siglo de estas cosas? ¡Uf! Después de esto creo que voy a odiar a William Shakespeare ...)
El traductor de SPL a C, mencionado hace un tiempo y desarrollado por los creadores de SPL, se basó en Flex y Bison .
Fragmento de longitud 51
Othello:
Recall your great dreams. Speak your mind!
(Tan harto de Romeo, Julieta y Hamlet ... ¡traigamos a Othello, para variar!)
Recall
, como puedes adivinar, es la clave aquí. El "personaje" al que se dirige Othello tomará un valor de su pila, asumirá ese valor y, luego, lo generará.
Fragmento de longitud 52
Thou art as pretty as the sum of thyself and my dog!
Otra suma Bostezo. Asumir que este está dirigido a Hamlet, significa eso Hamlet = Hamlet + 1
. O Hamlet += 1
. O Hamlet++
.
Fragmento de longitud 53
Romeo:
You are as vile as the sum of me and yourself!
Ah, sí, algo que olvidé mencionar antes: los "personajes" que hablan pueden mencionarse en sus propias líneas.
Fragmento de longitud 54
Juliet:
Is the sum of Romeo and me as good as nothing?
Otro ejemplo del fragmento anterior, incluido en una condición. Entonces lo que tenemos aquí es if (Romeo + Juliet == 0)
.
Fragmento de longitud 55
Juliet:
You are as lovely as the sweetest reddest rose.
Entonces, aquí, Juliet está elogiando al "personaje" con el que está hablando (supongamos que es Romeo, por el bien de Shakespeare), declarando que él / ella tiene 4. Sí, otra asignación de valores.
Fragmento de longitud 56
Othello:
You lying fatherless useless half-witted coward!
Fragmento 48 hecho correctamente, con un "personaje". Si eres demasiado vago para desplazarte hacia arriba (como lo estaría yo), esto significa que el que está siendo insultado está recibiendo el valor -16.
Fragmento de longitud 57
Romeo:
If not, let us return to Act I. Recall thy riches!
Ya he explicado cómo funcionan las condiciones en SPL de forma general; sin embargo, se necesita un análisis más en línea. No tenemos else
aquí: por ejemplo, en este ejemplo, si la condición falla, el programa volverá al Acto I; pero si fuera cierto, continuaría con la siguiente instrucción, que es Recall
un pop de la pila, es decir.
Longitud 58 fragmento
Romeo:
You are as disgusting as the square root of Juliet!
Agarrando el fragmento 44 y presentando cómo se debe presentar la instrucción. Si se tratara de un diálogo entre Romeo y Othello, podríamos traducirlo a Java como Othello = Math.sqrt(Juliet)
.
Fragmento de longitud 59
Othello:
You are as vile as the sum of yourself and a toad!
Bien, si Othello está hablando con Romeo, esto sería equivalente a Romeo+(-1)
; Romeo--
, para abreviar. Bastante básico, ¿verdad? Eso es SPL para ti.
Fragmento de longitud 60
Is the quotient between the Ghost and me as good as nothing?
Para abreviar, if (The Ghost/Hamlet == 0)
suponiendo que el "yo" pertenece a Hamlet.
Fragmento de longitud 61
Thou art as handsome as the sum of yourself and my chihuahua!
Una vez que despega las capas y capas de palabras e insultos, nota que SPL es prácticamente una cosa básica, sin funciones y cosas geniales. Entonces tenemos montones y montones de funciones aritméticas en el cuerpo del programa. Entonces, si este fuera dirigido a Julieta, sería equivalente a Juliet++
.
Fragmento de longitud 62
twice the difference between a mistletoe and a oozing blister!
Sí, sí, más operaciones aritméticas. Aproximadamente, estos 62 bytes de SPL se pueden traducir a 2*(1-2*(-1))
. Este sería un lenguaje de golf bastante impresionante, ¿verdad? Derecha.
Fragmento de longitud 63
You lying stupid fatherless rotten stinking half-witted coward!
Fragmento de 48 da salida -16, éste es igual a -64: 2*2*2*2*2*2*(-1)
.
Fragmento de longitud 64
your coward sorry little stuffed misused dusty oozing rotten sky
Por lo que entiendo de SPL, esto es perfectamente legítimo. Tienes muchos adjetivos insultantes que dan lugar a un sustantivo "positivo". Dado que los adjetivos no tienen una distinción especial si son negativos o no (su único valor es multiplicar el número a la derecha por dos), podemos tener oraciones completamente tontas como esta. Lo que equivale a 256. Porque 2*2*2*2*2*2*2*2*1=256
.
Fragmento de longitud 65
You are nothing! You are as vile as the sum of thyself and a pig.
Hmm, tanto odio, ¿no? Entonces, lo que tenemos aquí es equivalente a y=0; y=y+(-1);
Probablemente podría haber sido "golfizado" You are a pig!
, pero je.
Fragmento de longitud 66
You are as beautiful as the difference between Juliet and thyself.
Entonces, resta a Juliet de ti, ¿eh? Este es bastante simple de decodificar: Romeo=Juliet-Romeo;
suponiendo que se esté hablando con Romeo.
Fragmento de longitud 67
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
Cómo funcionan la mayoría de las condiciones en SPL. Usted prueba la expresión y, si es verdadera (o no: vea el fragmento 33), salta a otra parte del programa; de lo contrario, continuará con la siguiente oración.
Fragmento de longitud 68
The Ghost:
You are as small as the sum of yourself and a stone wall!
Sí, sí, me estoy volviendo un poco monótono. Pero SPL es así. Como dije un poco antes, sus expresiones son una mezcla de operaciones aritméticas. Por lo tanto, este es otro incremento más, ya que stone wall
es un "sustantivo" neutral.
Fragmento de longitud 69
Thou art as disgusting as the difference between Othello and thyself!
En lugar de una suma, tenemos la resta entre dos personajes, Othello y con quien se le está hablando.
Fragmento de longitud 70
You are as handsome as the sum of Romeo and his black lazy squirrel!
Volvemos a las adiciones, sí, llámame formulaic, je. Traducimos esto a Romeo + 2*2*1
.
Longitud 71 fragmento
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
Una escena puede ser tan pequeña como esta. Juliet
entra al escenario, Othello le dice que muestre su valor almacenado, luego se baja del escenario nuevamente.
Fragmento de longitud 72
twice the difference between a mistletoe and an oozing infected blister!
Una operación aritmética más, porque SPL está plagado de ellos. Podemos traducir esto a 2*(1-2*2*(-1))
.
Fragmento de longitud 73
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
¿Cuatro instrucciones seguidas? Estoy bastante orgulloso de mí mismo, en realidad. De todos modos, supongamos que este es un diálogo entre Romeo y Julieta (y él está hablando): esto significa que el valor de Julieta comienza en 0; luego, Juliet empujará el valor de Romeo en su pila de memoria, lo abrirá y lo mostrará en su forma ingresada. Simple, verdad?
Fragmento de longitud 74
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
Sí, sí, ejemplo aburrido, lo sé. Pero esto es X = (Romeo + 1) + 1
.
Fragmento de longitud 75
Is the remainder of the quotient between Othello and me as good as nothing?
Bueno, esto es bastante sencillo. Si sus habilidades de decodificación no funcionan correctamente, se traduce en if (Othello % X == 0)
.
Fragmento de longitud 76
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
El salto del fragmento 26 con una expresión delante. A goto
en SPL no siempre se encuentra cerca de una condición, puede ser así, y, por supuesto, este tipo de goto
siempre se encontrará al final de un Acto o Escena, ya que las instrucciones posteriores nunca se compilarán / ejecutarán. La primera instrucción es bastante simple: x=x+1
.
Longitud 77 fragmento
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
Entonces, tenemos a Juliet y Hamlet en el escenario; pero necesitamos el valor de Romeo. Por lo tanto, para evitar que el compilador tenga un dolor de cabeza muy desagradable, en primer lugar eliminamos a Hamlet del escenario (aunque podría haber sido Juliet quien fuera), le decimos a Romeo que suba al escenario, Juliet le da instrucciones para emitir un número (vea la explicación del fragmento 21), luego Romeo sale del escenario y Hamlet regresa. Bastante sencillo y simple.
Longitud 78 fragmento
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
Entonces, The Ghost (el padre fallecido de Hamlet) le está diciendo a Lady Macbeth que muestre su valor, mientras ella le ordena a The Ghost que lea un número y lo meta en su pila.
Translate[Scale[Rectangle, 80], {0, 0, 100}]
, ¿ aparecería la gran palabraRectangle
flotando frente a su monitor?