Язык программирования Шекспира был создан в 2001 году двумя шведскими студентами, Карлом Хассельстремом и Йоном Ослундом, и объединяет, как заявляют авторы ,
выразительность бейсика с удобством языка ассемблера.
Ответы идут сверху вниз. Кроме того, часто я вижу ссылки на старые или предыдущие фрагменты.
( ссылка для себя: редактировать )
Factoid:
Код Шекспира напоминает, как и следовало ожидать, пьесу Шекспира, где переменные - это символы в пьесе, и их значение изменяется по мере того, как они «оскорбляются» или хвалят ».
Длина 1 фрагмента:
I
Код Шекспира разделен на Деяния, а сами действия разделены на Сцены для причинно-следственных связей. Определение Act как Act I
означает, что он будет первым фрагментом кода, который будет запущен, в каждом примере - но не только.
Длина 2 фрагмента:
as
Используется для сравнения двух «символов».
Длина 3 фрагмента:
day
К настоящему времени у вас может возникнуть ощущение, что SPL очень многословен. И странно. И ты еще ничего не видел. day
в SPL - 1. Все «положительные» и «нейтральные» существительные считаются так же 1
, как и все «отрицательные» -1
.
Длина 4 фрагмента:
rich
Что такое rich
? Прилагательное. В SPL прилагательные делают значение существительного, к которому они привязаны, умноженным на два. Смотрите реализацию на фрагменте 14.
Длина 5 фрагмента:
Act I
Реализация первого фрагмента. Всем действиям может быть дан заголовок, например Act I: Hamlet must die!
, поскольку все, что находится после римской цифры, игнорируется анализатором.
Длина 6 фрагмента:
better
У каждого языка есть условия, и SPL не является исключением. За исключением того, что это язык с длинным синтаксисом (и я упоминал, что он странный?), Его условные выражения будут длинными. С Офелией спросить Джульетту Am I better than you?
- все равно что разговаривать if (Ophelia > Juliet)
на большинстве "обычных" языков И, конечно, вы можете спросить наоборот: Am I not better than you?
это эквивалент if (Ophelia < Juliet)
. И вы уже можете догадаться, как =
переводится на SPL: as good as
- использование фрагмента кода 2.
Тем good/better
не менее, это не единственный способ сравнения в этом шексперианском языке, вы можете использовать любое прилагательное. Тот же принцип фрагмента 3 применим и здесь: «положительные» прилагательные имеют значение >
, а «отрицательные» означают <
.
Длина 7 фрагмента:
Juliet:
Это вызов переменной; после этого его / ее инструкции / декларации / все, что последует.
Ограничение SPL состоит в том, что он имеет ограниченное количество переменных: «Ромео», «Джульетта», «Гамлет», «Офелия», «Макбет» и т. Д. - несколько примеров «символов», которые появятся в шексперианской программе.
Длина 8 фрагмента:
[Exeunt]
[Exeunt]
ставится, когда все «персонажи» покидают «сцену». Надеюсь, позже я смогу подробнее рассказать о взаимодействии между персонажами. Обычно это последняя инструкция в любой программе SPL, хотя [Exeunt]
она не является терминальным «символом» языка. Для другого примера см. Фрагмент 27.
Длина фрагмента 9:
as bad as
Девять символов просто для представления простого =
фрагмента 2. Я упоминал, что SPL странный? Смотрите фрагмент 30 для примеров. (и да, есть более одного способа вывести его)
Длина фрагмента 10:
difference
Необычный способ представления -
, вычитание. Вы можете выполнять математические операции над SPL, даже если вам, возможно, понадобится целый день, чтобы понять это правильно.
Фактоид
(поскольку мне удалось каким-то образом достичь десяти фрагментов кода, давайте сделаем небольшой перерыв и сделаем еще один фактоид о SPL)
Если вы хотите запустить свой шекспировский код во всей его красе, есть этот сайт - я все еще тестирую его, поскольку обнаружил его даже пять минут назад. Есть также способ перевести его на C с помощью переводчика .
Еще один сайт для запуска кода SPL - это тот, который работает путем внутреннего перевода кода SPL на другой эзотерический язык: Oracle PL / SQL.
Длина фрагмента 11:
[Exit Romeo]
Да! Наконец я могу говорить о взаимодействии между персонажами! Чтобы изменить его значение или взаимодействовать с другими, на сцене должен быть «персонаж» - вход с [Enter Romeo]
. Если символ адресован, но отсутствует, возникает ошибка во время выполнения, и программа останавливается. Потому что в SPL значение переменных задается количеством имен, которые они хвалят - или оскорбляют - другими персонажами на сцене. Я чувствую, что должен привести пример, чтобы очистить некоторую путаницу, которую может создать мое отстойное объяснение, но, возможно, лучше отложить несколько отрывков.
Длина фрагмента 12:
Remember me.
SPL довольно "базовый", хорошо - но у него есть стеки! Когда, например, Ромео говорит Джульетте «помнить его», он на самом деле говорит своему любимому, чтобы он вложил ценность Ромео в ее стек. Выделение значения выполняется с помощью Recall your happy childhood!
или Recall your love for me
, или, по сути, с любого предложения, начинающегося с Recall
- остальное - просто художественная чушь, как фрагмент 22.
Длина 13 фрагмента
Let us return
Шекспировский способ иметь goto
. И здесь пригодятся Деяние и Сцены. Если Ромео скажет Джульетте we shall return to Act II
(да, опять же, есть несколько способов написать это), программа перейдет к этой конкретной части кода. Это также замечено рядом с условными заявлениями.
Длина фрагмента 14
my little pony
Да, это была серия еще в 80-х. Здесь это 2*1
. Почему? Потому что pony
а (несколько) положительное существительное и little
прилагательное. Итак, вспоминая фрагменты 3 и 4, мы имеем little = "2 *"
и pony = "1"
.
Длина фрагмента 15
Speak thy mind!
В программе SPL вы увидите это (или Speak your mind!
, что то же самое) много . Это в основном выводит значение каждого «символа» в виде цифры, буквы или чего-либо еще, в зависимости от набора символов, используемого вашим компьютером. Есть также, Open your mind.
что делает почти то же самое, хотя вывод только в числовой форме.
Длина 16 фрагмента
You are nothing!
Когда кто-то говорит вам это в реальной жизни, вы будете чувствовать себя подавленным. Когда Офелия рассказывает об этом Гамлету в шекспировском программировании, Гамлет чувствует себя бесполезным. Что это значит? Это Hamlet = 0
.
Длина 17 фрагмента
Ophelia, a wench.
В сценарии, прежде чем начнется фактическая игра, персонажи должны быть представлены. В большинстве языков программирования переменные также должны быть объявлены перед использованием. Видя, что SPL - это язык программирования, похожий на сценарий, вы объявляете его переменные, указывая, какие из них появляются в программе.
Но что значит "девка"? Значит ли это, что это конкретное (и классное) имя типа данных? Ну ... я не хочу вас разочаровывать, но это ничего не значит: все, что находится после запятой, игнорируется парсером, а это означает, что вы можете поместить туда самый вопиющий из всех, что вы только можете себе представить.
Длина 18 фрагмента
lying sorry coward
-4
для всех земных существ. Почему? Потому что 2*2*(-1) = -4
.
Длина 19 фрагмента
Romeo:
Remember me.
Наконец!!! Я наконец могу вывести полную инструкцию правильного синтаксиса (пусть и короткую)! Вот как вы используете фрагмент 12: сначала вы объявляете, кто говорит, а затем на следующей строке пишете «диалог». Обычно на сцене только два «персонажа», чтобы парсер не расстроился и не запутался. Когда вам нужен еще один «персонаж», вы берете его со сцены и заменяете его новым.
Длина 20 фрагмента
cube of thy codpiece
Я хотел бы разработать немного больше для этого, но, по правде говоря, вещи, которые я придумаю, все еще слишком коротки для этой длины фрагмента. И, таким образом, я принесу вам это, которое в итоге оказывается -1
- потому что (-1) 3 = -1 (и codpiece
является «отрицательным» существительным, так как они неудобны и все). SPL понимает несколько более сложных арифметических операций , как - то экспоненциации и квадратные корни.
Factoid (еще один, так как мы достигли еще одной вехи)
«Программа Hello World» на шексперианском языке имеет 89 строк и более 2400 символов в длину, как показано здесь .
Длина 21 отрывка
Listen to your heart.
В фрагменте 15 вы что-то вывели; здесь вы вводите номер в программу. Если вы хотите ввести символ, вы будете использовать Open your mind.
вместо этого. И, само собой разумеется, это значение будет сохранено в «персонаже», с которым мы разговариваем.
Длина 22 фрагмента
Recall your childhood!
Выделение целого числа из стека осуществляется с помощью этого, как объяснено во фрагменте 12. Когда Офелия в каждом случае говорит Гамлету вышеупомянутое предложение, это заставляет Гамлета взять целое число из его стека и принять это значение.
Конечно, пока слово recall
начинается с предложения, вы можете заполнить все остальное практически всем, что пожелает ваш творческий шексперианский ум.
Длина 23 фрагмента
Are you better than me?
Реализация фрагмента 6. Когда «персонаж» задает такой вопрос другому, то, что он / она делает, эквивалентно if (x > y)
более распространенным языкам программирования. Выполнение этой инструкции должно быть отложено до тех пор, пока у меня не появится больше символов.
Длина 24 фрагмента
[Enter Romeo and Juliet]
Да, «символы» могут вводиться парами. Не обязательно, чтобы один «персонаж» выходил на сцену, а за ним следовал другой.
Длина 25 фрагмента
remainder of the quotient
25 символов просто чтобы написать %
. 25 символов для остатка от деления. И использовать это? Ну, это еще больше - см. Фрагмент 75.
Длина 26 фрагмента
Let us return to scene II.
Вот он, goto
в SPL, который работает так, как и следовало ожидать в языке программирования. Дело в том, что вы можете прыгать между сценами в одном действии и между действиями; но вы не можете прыгать между сценами в разных действиях.
Длина 27 фрагмента
[Exeunt Ophelia and Hamlet]
Когда более одного «персонажа» покидают сцену, вместо того Exit
, чтобы поддерживать традиции театрального характера SPL, используется латинское слово «Exeunt». Иногда его можно заменить просто фрагментом 8.
Длина фрагмента 28
Scene I: Ophelia's flattery.
Объявление сцены. Как вы уже можете ожидать, если вы справляетесь со мной, важен бит Scene I
, остальное - художественный пух.
Были сделаны некоторые компиляторы (такие как этот, который компилирует из SPL в C, написанный на Python ), которые вместо этого ссылаются на текст после нумерации Act / Scene. Хотя более логично (в конце концов, во время пьесы, когда персонажи говорят такие строки, как «давайте вернемся к акту I», может показаться глупым), я придерживаюсь оригинального пути.
Длина 29 фрагмента
You pretty little warm thing!
Да, еще одна константа (поскольку нам нужно больше символов для выполнения арифметических операций). Этот равен 8
, потому что 2*2*2*1 = 8
.
Длина фрагмента 30
You are as cowardly as Hamlet!
Сказать это, например, Ромео, значит это Romeo = Hamlet
. Как фрагмент 9.
Фактоид (да, еще один ориентир достигнут!)
Этот язык был создан для назначения в курсе синтаксического анализа - таким образом, авторы не создали компилятор SPL. Более того: кажется, что авторы SPL разорвали свои связи с их созданием, поскольку с 2001 года в языке ничего не изменилось ...
Длина 31 фрагмент
Am I as horrid as a flirt-gill?
Да, я знаю, это несколько повторяющий фрагмент 23, хотя здесь мы сравниваем «персонажа», который говорит с «флирт-жаброй» (если хотите, если хотите if (Ophelia == -1)
). Дело в том...
Длина 32 фрагмента
If so, let us return to scene I.
... теперь я могу представить then
SPL, условный переход и Shakesperian способ реализации циклов. Например, вы можете заставить Ромео принять значение 0
, увеличить его значение, выполняя какое-то другое задание, и остановиться, когда он достигнет 10, после чего продолжить работу с программой.
Длина 33 фрагмента
If not, let us return to scene I.
Просто напоминание о том, что вместо этого мы можем перейти к другой сцене, если проверенное нами условие ложно .
Длина 34 фрагмента
Open your mind! Remember yourself.
Две инструкции подряд, яппи! Первый читает символ, второй помещает его в стек памяти другого символа.
Длина 35 фрагмента
Act I: Death!
Scene I: Oh, shit.
Правильный способ объявления Акта и Сцены. Добавьте художественную кашу со вкусом.
Длина 36 фрагмента
Thou art as sweet as a summer's day!
Другой способ сказать, что «персонаж», с которым говорят, получит значение 1
- потому что летние дни приятны и приятны.
Длина 37 фрагмента
Art thou more cunning than the Ghost?
Офелия, задавая этот вопрос Гамлету, значит переводить его на менее читаемый язык программирования if (Hamlet > the Ghost)
. Да, это снова фрагмент 23, но он показывает, что вам не нужно спрашивать «персонажей», лучше ли они друг друга: любой другой вопрос тоже подойдет.
Длина фрагмента 38
[Enter the Ghost, Romeo and the Ghost]
Да, я дважды называю «персонаж» - потому что я хотел, чтобы программа выдала мне ошибку. Вызов «персонажа», который уже находится на сцене, или указание того, кто отсутствует для выхода, вызовет большое горе у анализатора / компилятора.
Длина 39 фрагмента
the sum of a fat lazy pig and yourself!
Полная инструкция выглядит лучше, я дам вам это, но ... вот наша первая арифметическая операция! Что все это значит, на самом деле? Ну, pig
это грязное животное (хотя и вкусное), так что оно эквивалентно -1
, имеет два прилагательных, что означает « fat lazy pig
равно» 2*2*(-1) = -4
. Но как насчет yourself
? Это рефлексивный пронум, а не имя и прилагательное. Хорошо, помните, что SPL основан на диалогах между «персонажами»; таким образом, yourself
относится к другому «персонажу» на сцене. Итак, мы подходим к концу и обнаруживаем, что «сумма жирной ленивой свиньи и вас самих» на самом деле -4 + x
.
Длина 40 фрагмента
the sum of a squirrel and a white horse.
Да, другая сумма, но эта проще, чем фрагмент 39. Это просто 1 + 2
- 3
если моя математика верна.
Фактоид (все еще со мной после этих сорока фрагментов художественного пуха? Вы заслуживаете приза.)
SPL в его версии 1.2.1 можно скачать здесь .
Длина фрагмента 41
Juliet:
Speak thy mind!
[Exit Romeo]
Иногда «персонажей» вызывают только на сцене, чтобы изменить их значение - что в реальной игре было бы довольно странно. Во всяком случае, здесь, Джульетта заставляет своего любимого Ромео напечатать его сохраненную ценность, после чего он покидает сцену.
Длина 42 фрагмента
Speak YOUR mind! You are as bad as Hamlet!
Снова две инструкции в одной строке (у нас может быть несколько, но длина фрагмента пока не позволяет); здесь у нас есть «персонаж», говорящий другому выводить его значение и предполагать, какое значение имеет Гамлет. Смешение? Может статься.
Длина фрагмента 43
Am I as horrid as a half-witted flirt-gill?
Джульетта, спрашивающая об этом, не означает, что она имеет низкое уважение (хотя это может быть в реальной жизни); это просто другой if
, как фрагменты 23 и 37. О, я почти забыл: это переводится как if (Juliet == -2)
.
Длина 44 фрагмента
You are as evil as the square root of Romeo!
Да, квадратные корни - это зло, разве ты не знал? В любом случае, эта инструкция достаточно проста, чтобы понять, что она делает: приписывает «произносимому» символу значение квадратного корня из значения, хранящегося в Romeo.
Длина фрагмента 45
Hamlet:
Art thou more cunning than the Ghost?
Фрагмент 37 правильно написан с персонажем, который говорит линию.
Длина 46 фрагмента
the product of a rural town and my rich purse.
Хорошо ... в любом случае, SPL может быть единственным языком в мире, который позволяет вам умножать города с помощью кошельков. Это означает, (2*1)*(2*1)
что, если я не очень ошибаюсь, равно 4
.
Длина фрагмента 47
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
Я дам вам это: это может быть один из самых странных диалогов в истории. Но это то, что вы получаете, когда выбираете странный язык для демонстрации. Короче говоря, Ромео и Джульетта говорят друг другу выводить свои ценности.
Длина 48 фрагмента
You lying fatherless useless half-witted coward!
Переводя это напрямую 2*2*2*2*(-1)
. -16
, правильно?
Длина 49 фрагмента
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
Пример того, как завершить программу в SPL. Вы можете объявить сцену специально для нее (хотя это и не обязательно), затем Гамлет просит другого «персонажа» вывести свое значение, затем они все покидают сцену. И да, все они должны покинуть сцену.
Длина фрагмента 50
Othello, a young squire.
Lady Macbeth, an old fart.
Более «характерная» презентация, перед правильной инструкцией. Как всегда, единственное , что имеет значение для компилятора Othello
и Lady Macbeth
, поэтому остальная часть линии для захватов ...
Еще одна вещь: «персонажи» не должны быть связаны друг с другом, чтобы появиться в программе SPL - так что вы можете иметь Ромео, Отелло и Гамлета в одной игре.
Factoid (полвека из этих вещей? Фу! После этого я думаю, что я буду ненавидеть Уильяма Шекспира ...)
Переводчик SPL на C, упомянутый недавно и разработанный создателями SPL, был основан на Flex и Bison .
Длина фрагмента 51
Othello:
Recall your great dreams. Speak your mind!
(Так надоели Ромео, Джульетта и Гамлет ... давай приведем Отелло, для разнообразия!)
Recall
Как вы можете догадаться, это ключ здесь. «Персонаж», к которому обращается Отелло, возьмет значение из своего стека, примет это значение и затем выведет его.
Длина 52 фрагмента
Thou art as pretty as the sum of thyself and my dog!
Еще одна сумма. Йон. Предполагая, что это адресовано Гамлету, это значит Hamlet = Hamlet + 1
. Или Hamlet += 1
. Или Hamlet++
.
Длина 53 фрагмента
Romeo:
You are as vile as the sum of me and yourself!
Ах, да, кое-что я забыл упомянуть раньше: говорящие «персонажи» могут упоминать себя в своих строках.
Длина 54 фрагмента
Juliet:
Is the sum of Romeo and me as good as nothing?
Еще один пример предыдущего фрагмента, включенного в условие. Итак, что мы имеем здесь if (Romeo + Juliet == 0)
.
Длина 55 фрагмента
Juliet:
You are as lovely as the sweetest reddest rose.
Итак, здесь, Джульетта хвалит «персонажа», с которым она разговаривает (допустим, это Ромео, ради Шекспира), заявляя, что ему 4 года. Да, еще одно присвоение ценностей.
Длина 56 фрагмента
Othello:
You lying fatherless useless half-witted coward!
Фрагмент 48 правильно сделан, с «характером». Если вам лень прокручивать вверх (как мне бы хотелось), это означает, что тот, кого оскорбляют, получает значение -16.
Длина 57 фрагмента
Romeo:
If not, let us return to Act I. Recall thy riches!
Я уже объяснил, как условия работают на SPL в целом; Тем не менее, необходим более встроенный анализ. У нас нет else
здесь: в каждом примере, в этом примере, если условие не выполнено, программа вернется к Акту I; но если бы это было правдой, то оно продолжало бы до следующей инструкции, то Recall
есть извлечения из стека, то есть.
Длина 58 фрагмента
Romeo:
You are as disgusting as the square root of Juliet!
Взяв фрагмент 44 и представив, как должна быть представлена инструкция. Если бы это был диалог между Ромео и Отелло, то мы могли бы перевести это на Java как Othello = Math.sqrt(Juliet)
.
Длина 59 фрагмента
Othello:
You are as vile as the sum of yourself and a toad!
Хорошо, если Отелло говорит с Ромео, это будет эквивалентно Romeo+(-1)
; Romeo--
, для краткости. Довольно простой, правда? Это SPL для вас.
Длина фрагмента 60
Is the quotient between the Ghost and me as good as nothing?
Короче говоря, if (The Ghost/Hamlet == 0)
предполагая, что «я» принадлежит Гамлету.
Длина фрагмента 61
Thou art as handsome as the sum of yourself and my chihuahua!
Как только вы удалите слои и слои слов и оскорблений, вы заметите, что SPL - это довольно простая вещь, без классных функций и прочего. Итак, у нас есть масса арифметических функций в теле программы. Так что, если бы это было адресовано Джульетте, это было бы эквивалентно Juliet++
.
Длина фрагмента 62
twice the difference between a mistletoe and a oozing blister!
Да, да, больше арифметических операций. Грубо говоря, эти 62 байта SPL могут быть переведены в 2*(1-2*(-1))
. Это был бы потрясающий язык для игры в гольф, верно? Правильно.
Длина 63 фрагмента
You lying stupid fatherless rotten stinking half-witted coward!
Сниппет 48 , выводимый -16, это один равна -64: 2*2*2*2*2*2*(-1)
.
Длина 64 фрагмента
your coward sorry little stuffed misused dusty oozing rotten sky
Из того, что я понимаю о SPL, это совершенно законно. У вас есть много оскорбительных прилагательных, которые превращаются в «положительные» существительные. Поскольку у прилагательных нет особого различия, отрицательны они или нет (их единственное значение - умножение числа справа на два), у нас могут быть совершенно глупые предложения, подобные этому. Что эквивалентно 256. Потому что 2*2*2*2*2*2*2*2*1=256
.
Длина 65 фрагмента
You are nothing! You are as vile as the sum of thyself and a pig.
Хм, так много ненависти, не так ли? Итак, то, что мы имеем здесь, эквивалентно, y=0; y=y+(-1);
вероятно, могло бы быть «игрой в гольф» You are a pig!
, но хе.
Длина 66 фрагмента
You are as beautiful as the difference between Juliet and thyself.
Итак, вычти Джульетту из себя, а? Это довольно просто расшифровать: Romeo=Juliet-Romeo;
при условии, что с Ромео разговаривают.
Длина 67 фрагмента
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
Как большинство условий работают на SPL. Вы проверяете выражение и, если оно верно (или нет: см. Фрагмент 33), вы переходите к другой части программы; в противном случае вы перейдете к следующему предложению.
Длина 68 фрагмента
The Ghost:
You are as small as the sum of yourself and a stone wall!
Да, да, я становлюсь немного однообразным. Но SPL такой. Как я уже говорил ранее, его выражения представляют собой смесь арифметических операций. Таким образом, это очередное приращение - stone wall
нейтральное «существительное».
Длина фрагмента 69
Thou art as disgusting as the difference between Othello and thyself!
Вместо суммы у нас есть вычитание между двумя персонажами, Отелло и тем, с кем разговаривают.
Длина фрагмента 70
You are as handsome as the sum of Romeo and his black lazy squirrel!
Вернемся к дополнениям, да - назови меня формульной, хе. Мы переводим это в Romeo + 2*2*1
.
Длина фрагмента 71
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
Сцена может быть такой маленькой, как эта. Juliet
выходит на сцену, Отелло говорит ей, чтобы вывести ее сохраненное значение, затем она снова выходит из сцены.
Длина фрагмента 72
twice the difference between a mistletoe and an oozing infected blister!
Еще одна арифметическая операция - потому что SPL изобилует ими. Мы можем перевести это на 2*(1-2*2*(-1))
.
Длина 73 фрагмента
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
Четыре инструкции подряд ?! На самом деле я горжусь собой. В любом случае, давайте предположим, что это диалог между Ромео и Джульеттой (и он говорит): это означает, что значение Джульетты начинается с 0; затем Джульетта поместит значение Ромео в свой стек памяти, вытолкнет его и выведет его в введенной форме. Просто, правда?
Длина фрагмента 74
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
Да, да, скучный пример, я знаю. Но это так X = (Romeo + 1) + 1
.
Длина фрагмента 75
Is the remainder of the quotient between Othello and me as good as nothing?
Ну, это довольно просто. Если ваши навыки декодирования работают со сбоями, это означает if (Othello % X == 0)
.
Длина 76 фрагмента
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
Прыжок из фрагмента 26 с выражением перед ним. A goto
на SPL не всегда находится рядом с условием, это может быть так - и, конечно, этот тип goto
всегда будет найден в конце действия или сцены, поскольку инструкции после него никогда не будут скомпилированы / выполнены. Первая команда довольно проста: x=x+1
.
Длина 77 фрагмента
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
Итак, у нас на сцене Джульетта и Гамлет; но мы нуждаемся в ценности от Ромео. Таким образом, чтобы избавить компилятор от очень неприятной головной боли, сначала мы убираем Гамлета со сцены (хотя это могла быть Джульетта), мы просим Ромео выйти на сцену, Джульет дает ему инструкцию вывести номер (см. объяснение фрагмента 21), затем Ромео выходит из сцены и Гамлет возвращается. Довольно просто и просто.
Длина фрагмента 78
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
Итак, Призрак (покойный отец Гамлета) говорит Леди Макбет вывести ее значение, в то время как она приказывает Призраку прочитать число и положить его в свой стек.
Translate[Scale[Rectangle, 80], {0, 0, 100}]
,Rectangle
появилось ли бы огромное слово, плавающее перед вашим монитором?