Ngôn ngữ lập trình Shakespeare được tạo ra vào năm 2001 bởi hai sinh viên Thụy Điển, Karl Hasselström và Jon slund, và nó kết hợp, như các tác giả tuyên bố ,
tính biểu cảm của BASIC với sự thân thiện với người dùng của ngôn ngữ lắp ráp.
Câu trả lời đi từ trên xuống dưới. Ngoài ra, thường thấy tôi đề cập đến các đoạn cũ hoặc trước đó.
( liên kết cho chính tôi: chỉnh sửa )
Factoid:
Mã của Shakespeare giống như người ta mong đợi, một vở kịch của Shakespeare, trong đó các biến là các ký tự trong vở kịch và giá trị của chúng thay đổi khi chúng bị "xúc phạm" hoặc khen ngợi ".
Độ dài 1 đoạn:
I
Mã của Shakespeare được chia thành Công vụ và các hành vi được phân chia trong Cảnh, cho các nhân quả "nhảy tới". Xác định một Đạo luật Act I
có nghĩa là nó sẽ là đoạn mã đầu tiên được chạy, theo ví dụ - nhưng không chỉ.
Độ dài 2 đoạn:
as
Được sử dụng trong một so sánh giữa hai "ký tự".
Độ dài 3 đoạn:
day
Đến bây giờ, bạn có thể có cảm giác rằng SPL rất dài dòng. Và kỳ lạ. Và bạn đã thấy gì chưa. day
, trong SPL, là 1. Tất cả các danh từ "tích cực" và "trung tính" được coi là 1
, cũng như tất cả các danh từ "phủ định" -1
.
Độ dài 4 đoạn:
rich
Là rich
gì Một tính từ. Trong SPL, tính từ làm cho giá trị của danh từ mà chúng được gắn vào nhân với hai. Xem thực hiện trên đoạn 14.
Độ dài 5 đoạn:
Act I
Thực hiện đoạn trích đầu tiên. Tất cả các hành vi có thể được đưa ra một tiêu đề, chẳng hạn như Act I: Hamlet must die!
, vì mọi thứ sau chữ số La Mã bị bỏ qua bởi trình phân tích cú pháp.
Độ dài 6 đoạn:
better
Mọi ngôn ngữ đều có điều kiện và SPL cũng không ngoại lệ. Ngoại trừ, vì đây là một ngôn ngữ có cú pháp dài (và tôi đã đề cập đến nó có gì lạ không?), Các câu điều kiện của nó sẽ dài. Có Ophelia hỏi Juliet Am I better than you?
giống như có if (Ophelia > Juliet)
hầu hết các ngôn ngữ "bình thường". Và, tất nhiên, bạn có thể hỏi một cách khác: Am I not better than you?
là tương đương với if (Ophelia < Juliet)
. Và bạn đã có thể đoán cách =
dịch sang SPL: as good as
- sử dụng đoạn mã 2.
Tuy nhiên, good/better
không phải là cách duy nhất để so sánh trong ngôn ngữ shakesperian này, bạn có thể sử dụng bất kỳ tính từ nào. Nguyên tắc tương tự của đoạn 3 cũng được áp dụng ở đây, với các tính từ "dương" có giá trị >
, trong khi các tính từ "âm" có nghĩa <
.
Độ dài 7 đoạn:
Juliet:
Đây là lời gọi của một biến; sau này, hướng dẫn / tuyên bố của anh ấy / cô ấy / bất cứ điều gì sẽ làm theo.
Một hạn chế của SPL là nó có số lượng biến giới hạn: Romeo, Juliet, Hamlet, Ophelia, MacBeth, v.v. là một vài ví dụ về "ký tự" sẽ xuất hiện trên chương trình Shakesperian.
Độ dài 8 đoạn:
[Exeunt]
[Exeunt]
được đặt khi tất cả "nhân vật" rời khỏi "sân khấu". Hy vọng rằng tôi có thể giải thích thêm một chút về sau về sự tương tác giữa các nhân vật. Nói chung là hướng dẫn cuối cùng của bất kỳ chương trình SPL nào, mặc dù [Exeunt]
không cụ thể là "ký tự" đầu cuối của ngôn ngữ. Để biết ví dụ khác, xem đoạn 27.
Độ dài 9 đoạn:
as bad as
Chín ký tự chỉ để đại diện cho một =
đoạn - sử dụng đoạn trích 2. Tôi đã đề cập rằng SPL là lạ chưa? Xem đoạn trích 30 để biết ví dụ. (và vâng, có nhiều hơn một cách để xuất nó)
Độ dài 10 đoạn:
difference
Một cách đại diện lạ mắt -
, một phép trừ. Bạn có thể có các phép toán trên SPL, mặc dù có thể bạn sẽ cần cả ngày để làm cho đúng.
Factoid
(vì tôi đã xoay sở để đạt được mười đoạn mã, hãy nghỉ ngơi một chút và có một thông tin khác về SPL)
Nếu bạn muốn chạy mã shakesperian của mình trong tất cả vinh quang của nó, thì có trang web này - tôi vẫn đang thử nghiệm nó, vì tôi đã phát hiện ra nó thậm chí không năm phút trước. Cũng có một cách để dịch nó sang C bằng một trình dịch .
Một trang web khác để chạy mã SPL là trang này hoạt động bằng cách dịch nội bộ mã SPL sang ngôn ngữ bí truyền khác: Oracle PL / SQL.
Độ dài 11 đoạn:
[Exit Romeo]
Đúng! Cuối cùng tôi có thể nói về sự tương tác giữa các nhân vật! Để thay đổi giá trị của nó hoặc tương tác với người khác, một "nhân vật" phải ở trên sân khấu - bước vào [Enter Romeo]
. Nếu một ký tự được gửi đến nhưng không có, có lỗi thời gian chạy và chương trình dừng lại. Bởi vì, trong SPL, giá trị của các biến được đặt theo số lượng tên mà chúng được khen ngợi - hoặc bị xúc phạm - bởi các nhân vật khác trên sân khấu. Tôi cảm thấy rằng tôi nên đưa ra một ví dụ để xóa một số nhầm lẫn mà lời giải thích khập khiễng của tôi có thể tạo ra, nhưng có lẽ tốt nhất là trì hoãn một vài đoạn.
Độ dài 12 đoạn:
Remember me.
SPL khá "cơ bản", ổn thôi - nhưng nó có ngăn xếp! Khi, ví dụ, Romeo bảo Juliet "nhớ anh ta", anh ta thực sự nói với người mình yêu để đẩy giá trị của Rome vào ngăn xếp của cô. Popping giá trị được thực hiện với Recall your happy childhood!
, hoặc Recall your love for me
, hoặc về cơ bản bất kỳ câu nào bắt đầu bằng Recall
- phần còn lại chỉ là nghệ thuật, như đoạn 22.
Độ dài 13 đoạn
Let us return
Cách Shakesperian có a goto
. Và đây là lúc Công vụ và Cảnh có ích. Nếu Romeo nói với Juliet we shall return to Act II
(vâng, một lần nữa, có nhiều cách viết nó), chương trình sẽ chuyển đến phần cụ thể của mã. Nó cũng được nhìn thấy cùng với các tuyên bố có điều kiện.
Độ dài 14 đoạn
my little pony
Vâng, đó là một loạt trở lại trong những năm 80. Đây rồi 2*1
. Tại sao? Bởi vì a pony
là một danh từ (phần nào) tích cực và little
là một tính từ. Vì vậy, nhớ đoạn 3 và 4, chúng tôi có little = "2 *"
và pony = "1"
.
Độ dài 15 đoạn
Speak thy mind!
Trong một chương trình SPL, bạn sẽ thấy điều này (hoặc Speak your mind!
, giống nhau) rất nhiều . Điều này về cơ bản xuất giá trị của từng "ký tự" bằng chữ số, chữ cái hoặc bất cứ thứ gì khác, tùy thuộc vào bộ ký tự được sử dụng bởi máy tính của bạn. Cũng có Open your mind.
điều đó gần như tương tự, mặc dù chỉ xuất ra ở dạng số.
Độ dài 16 đoạn
You are nothing!
Khi ai đó nói với bạn điều này trong cuộc sống thực, bạn sẽ cảm thấy chán nản. Khi Ophelia nói điều này với Hamlet trong lập trình Shakespearian, Hamlet cảm thấy vô giá trị. Điều đó có nghĩa là gì? Đó Hamlet = 0
.
Độ dài 17 đoạn
Ophelia, a wench.
Trong một kịch bản phim, trước khi vở kịch thực sự bắt đầu, các nhân vật phải được trình bày. Trong hầu hết các ngôn ngữ lập trình, các biến cũng phải được khai báo trước khi sử dụng. Thấy rằng SPL là ngôn ngữ lập trình giống với kịch bản phim, đây là cách bạn khai báo các biến của nó, bằng cách nêu rõ các biến xuất hiện trong chương trình.
Nhưng "a wench" nghĩa là gì? Có nghĩa là đó là một tên loại dữ liệu cụ thể (và mát mẻ)? Chà ... tôi ghét làm bạn thất vọng, nhưng điều đó chẳng có nghĩa gì cả: mọi thứ sau dấu phẩy đều bị người phân tích cú pháp coi thường, nghĩa là bạn có thể đặt ở đó những trò xấu xa nhất mà bạn có thể nghĩ ra.
Độ dài 18 đoạn
lying sorry coward
-4
cho tất cả các sinh vật trên trái đất. Tại sao? Bởi vì 2*2*(-1) = -4
.
Độ dài 19 đoạn
Romeo:
Remember me.
Cuối cùng!!! Cuối cùng tôi có thể xuất ra một hướng dẫn cú pháp chính xác đầy đủ (mặc dù ngắn)! Đây là cách bạn sử dụng đoạn 12: đầu tiên bạn tuyên bố ai đang nói, sau đó trên dòng tiếp theo bạn viết "đoạn hội thoại". Thông thường, chỉ có hai "ký tự" trên sân khấu, để tránh làm cho trình phân tích cú pháp buồn và bối rối. Khi bạn cần một "nhân vật" khác, bạn lấy một cái từ sân khấu và thay thế anh ta bằng cái mới.
Độ dài 20 đoạn
cube of thy codpiece
Tôi muốn giải thích thêm một chút cho cái này, nhưng, sự thật mà nói, những điều tôi nghĩ ra vẫn còn quá ngắn cho chiều dài đoạn trích này. Và, vì vậy, tôi mang đến cho bạn cái này, kết thúc là -1
- bởi vì (-1) 3 = -1 (và codpiece
là một danh từ "phủ định", vì chúng không thoải mái và tất cả). SPL hiểu một số phép toán số học phức tạp hơn như một số lũy thừa và căn bậc hai.
Factoid (một cái khác, vì chúng ta đã đạt được một cột mốc khác)
"Chương trình Hello World" trong Shakesperian có 89 dòng và dài hơn 2400 ký tự, như được thấy ở đây .
Độ dài 21 đoạn
Listen to your heart.
Trong đoạn 15 bạn đã xuất ra một cái gì đó; Ở đây, bạn nhập một số cho chương trình. Nếu bạn muốn nhập một ký tự, Open your mind.
thay vào đó bạn sẽ sử dụng . Và, không cần phải nói, giá trị này sẽ được lưu trữ trong "ký tự" được nói đến.
Độ dài 22 đoạn
Recall your childhood!
Việc bật một số nguyên từ một ngăn xếp được thực hiện với điều này, như được giải thích trên đoạn trích 12. Khi, ví dụ, Ophelia nói với Hamlet câu đã nói ở trên, nó khiến Hamlet lấy một số nguyên từ ngăn xếp của mình và giả sử giá trị đó.
Tất nhiên, miễn là từ đó recall
bắt đầu câu, bạn có thể điền vào phần còn lại với khá nhiều thứ mà tâm trí shakesperian sáng tạo của bạn mong muốn.
Độ dài 23 đoạn
Are you better than me?
Thực hiện đoạn trích 6. Khi một "nhân vật" đưa ra một câu hỏi như thế này cho câu hỏi khác, những gì anh / cô ấy đang làm tương đương với if (x > y)
các ngôn ngữ lập trình phổ biến hơn. Việc theo dõi hướng dẫn này phải bị trì hoãn cho đến khi tôi có sẵn nhiều nhân vật hơn.
Độ dài 24 đoạn
[Enter Romeo and Juliet]
Có, "ký tự" có thể nhập theo cặp. Không bắt buộc phải có một "nhân vật" bước vào sân khấu, bị theo dõi bởi một người khác.
Độ dài 25 đoạn
remainder of the quotient
25 ký tự chỉ để viết a %
. 25 ký tự để có phần còn lại của một bộ phận. Và để sử dụng nó? Chà, điều đó còn lớn hơn nữa - xem đoạn 75.
Độ dài 26 đoạn
Let us return to scene II.
Đây là, một goto
SPL, hoạt động như người ta mong đợi trong ngôn ngữ lập trình. Một điều là: bạn có thể nhảy giữa các cảnh trong cùng một hành động và giữa các hành vi; nhưng bạn không thể nhảy giữa các cảnh trong các hành vi khác nhau.
Độ dài 27 đoạn
[Exeunt Ophelia and Hamlet]
Khi có nhiều hơn một "nhân vật" rời khỏi sân khấu, thay vì Exit
và giữ truyền thống với bản chất sân khấu của SPL, từ "Latin" trong tiếng Latin được sử dụng. Đôi khi nó có thể được thay thế chỉ bằng đoạn 8.
Độ dài 28 đoạn
Scene I: Ophelia's flattery.
Tuyên bố một cảnh. Như bạn đã có thể mong đợi nếu bạn đã đối phó với tôi, điều quan trọng là Scene I
, phần còn lại là lông tơ nghệ thuật.
Đã có một số trình biên dịch được thực hiện (như trình biên dịch này biên dịch từ SPL sang C, được viết bằng Python ) thay vào đó đề cập đến văn bản sau khi đánh số Act / Cảnh. Mặc dù logic hơn (sau tất cả, trong một vở kịch, việc các nhân vật nói những câu như "chúng ta hãy quay lại Act I" có thể bị coi là ngớ ngẩn), tôi vẫn theo cách ban đầu.
Độ dài 29 đoạn
You pretty little warm thing!
Có, một hằng số khác (vì chúng ta cần nhiều ký tự hơn để có các phép toán số học). Điều này là bằng 8
, bởi vì 2*2*2*1 = 8
.
Độ dài 30 đoạn
You are as cowardly as Hamlet!
Nói điều này với, ví dụ, Romeo, có nghĩa là Romeo = Hamlet
. Giống như đoạn 9.
Factoid (vâng, một mốc khác đạt được!)
Ngôn ngữ này đã được tạo cho một bài tập trong khóa học Phân tích cú pháp - do đó, không có trình biên dịch SPL nào được tạo bởi các tác giả. Hơn nữa: có vẻ như các tác giả của SPL đã cắt đứt mối quan hệ với sáng tạo của họ, vì dường như không có gì được sửa đổi trong ngôn ngữ kể từ năm 2001 ...
Độ dài 31 đoạn
Am I as horrid as a flirt-gill?
Vâng, tôi biết, đó là phần lặp lại đoạn trích 23, mặc dù, ở đây, chúng tôi đang so sánh "nhân vật" nói chuyện với "flirt-gill" (của, nếu bạn thích, if (Ophelia == -1)
). Vấn đề là ...
Độ dài 32 đoạn
If so, let us return to scene I.
... bây giờ tôi có thể giới thiệu then
SPL, và bước nhảy có điều kiện và cách thức thực hiện các vòng lặp của Shakesperian. Ví dụ, bạn có thể khiến Romeo đảm nhận giá trị 0
, tăng giá trị của mình trong khi thực hiện một số nhiệm vụ khác và dừng lại khi đạt 10, tiếp tục với chương trình sau đó.
Độ dài 33 đoạn
If not, let us return to scene I.
Thay vào đó, chỉ cần nhắc nhở rằng, thay vào đó, chúng ta có thể chuyển sang cảnh khác nếu điều kiện chúng tôi đã kiểm tra là sai .
Độ dài 34 đoạn
Open your mind! Remember yourself.
Hai hướng dẫn liên tiếp, yippie! Người đầu tiên đọc một ký tự, người thứ hai đẩy nó vào ngăn xếp bộ nhớ của nhân vật kia.
Độ dài 35 đoạn
Act I: Death!
Scene I: Oh, shit.
Cách thích hợp để tuyên bố một Đạo luật và một Cảnh. Thêm nghệ thuật trang nhã.
Độ dài 36 đoạn
Thou art as sweet as a summer's day!
Một cách khác để nói rằng "nhân vật" được nói đến sẽ nhận được giá trị 1
- bởi vì những ngày hè thật đẹp và dễ chịu.
Độ dài 37 đoạn
Art thou more cunning than the Ghost?
Ophelia đặt câu hỏi này cho Hamlet nghĩa là, dịch nó sang ngôn ngữ lập trình ít đọc hơn , if (Hamlet > the Ghost)
. Đó là đoạn trích 23 lần nữa, vâng - nhưng nó sẽ cho bạn thấy rằng không bắt buộc phải hỏi các "nhân vật" nếu họ tốt hơn nhau: bất kỳ câu hỏi nào khác cũng sẽ hoạt động.
Độ dài 38 đoạn
[Enter the Ghost, Romeo and the Ghost]
Có, tôi đang gọi một "nhân vật" hai lần - bởi vì tôi muốn chương trình gây ra lỗi cho tôi. Gọi một "nhân vật" đã có trên sân khấu hoặc nói với một người vắng mặt để thoát ra, sẽ gây ra sự đau buồn lớn cho trình phân tích cú pháp / trình biên dịch.
Độ dài 39 đoạn
the sum of a fat lazy pig and yourself!
Hướng dẫn đầy đủ sẽ tốt hơn khi tìm kiếm điều này, tôi sẽ cung cấp cho bạn điều đó, nhưng ... đây là hoạt động số học đầu tiên của chúng tôi! Tất cả có nghĩa là gì? Chà, pig
là một con vật bẩn (mặc dù ngon), vì vậy nó tương đương với -1
, có hai tính từ, nghĩa là fat lazy pig
bằng nhau 2*2*(-1) = -4
. Nhưng còn cái gì yourself
? Đó là một đại từ phản xạ, không phải là tên hay tính từ. Chà, hãy nhớ rằng SPL dựa trên các cuộc đối thoại giữa các "nhân vật"; do đó, yourself
đề cập đến "nhân vật" khác trên sân khấu. Vì vậy, chúng tôi đến cuối cùng và chúng tôi phát hiện ra rằng "tổng của một con lợn lười béo và chính bạn", trên thực tế , -4 + x
.
Độ dài 40 đoạn
the sum of a squirrel and a white horse.
Vâng, một khoản tiền khác, nhưng số tiền này đơn giản hơn đoạn 39. Đây chỉ là 1 + 2
- 3
nếu toán học của tôi đúng.
Factoid (vẫn còn với tôi sau bốn mươi đoạn phim nghệ thuật này? Bạn xứng đáng nhận được giải thưởng.)
SPL, trong phiên bản 1.2.1, có thể được tải xuống ở đây .
Độ dài 41 đoạn
Juliet:
Speak thy mind!
[Exit Romeo]
Đôi khi, "nhân vật" chỉ được gọi trên sân khấu để thay đổi giá trị của họ - điều mà trên một vở kịch thực sự sẽ là một điều gì đó khá kỳ quái. Dù sao, ở đây, Juliet làm cho Romeo yêu dấu của mình in giá trị được lưu trữ của mình, sau đó anh rời khỏi sân khấu.
Độ dài 42 đoạn
Speak YOUR mind! You are as bad as Hamlet!
Một lần nữa hai hướng dẫn trong một dòng (chúng ta có thể có nhiều hướng dẫn, nhưng độ dài đoạn trích không cho phép điều đó); ở đây chúng ta có một "ký tự" bảo người khác xuất giá trị của nó và giả sử giá trị nào Hamlet có. Gây nhầm lẫn? Mayhap.
Độ dài 43 đoạn
Am I as horrid as a half-witted flirt-gill?
Juliet hỏi điều này không có nghĩa là cô ấy có lòng tự trọng thấp (mặc dù có thể trong đời thực); nó chỉ đơn giản là một thứ khác if
, như đoạn trích 23 và 37. Ồ, tôi gần như quên mất: điều này dịch ra if (Juliet == -2)
.
Độ dài 44 đoạn
You are as evil as the square root of Romeo!
Vâng, căn bậc hai là xấu xa, bạn không biết? Dù sao, hướng dẫn này đủ đơn giản để hiểu những gì nó làm: thuộc tính "ký tự" được nói đến giá trị của căn bậc hai của giá trị được lưu trữ trong Romeo.
Độ dài 45 đoạn
Hamlet:
Art thou more cunning than the Ghost?
Đoạn 37 được viết đúng với nhân vật đang nói lời thoại.
Độ dài 46 đoạn
the product of a rural town and my rich purse.
Được rồi ... dù sao đi nữa, SPL có thể là ngôn ngữ duy nhất trên thế giới cho phép bạn nhân thị trấn với ví. Điều này có nghĩa là (2*1)*(2*1)
, nếu tôi không nhầm lắm, thì bằng4
.
Độ dài 47 đoạn
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
Tôi sẽ cung cấp cho bạn rằng: nó có thể là một trong những cuộc đối thoại kỳ lạ nhất trong lịch sử. Nhưng đó là những gì bạn nhận được khi bạn chọn một ngôn ngữ kỳ lạ để giới thiệu. Tóm lại, Romeo và Juliet đang nói với nhau về việc đưa ra các giá trị của họ.
Độ dài 48 đoạn
You lying fatherless useless half-witted coward!
Dịch nó trực tiếp , 2*2*2*2*(-1)
. -16
, đúng?
Độ dài 49 đoạn
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
Một ví dụ về cách chấm dứt một chương trình trong SPL. Bạn có thể khai báo một cảnh cụ thể cho cảnh đó (mặc dù không bắt buộc), sau đó Hamlet yêu cầu một "nhân vật" khác xuất giá trị của chúng, sau đó tất cả đều thoát khỏi giai đoạn. Và vâng, tất cả bọn họ phải rời khỏi sân khấu.
Độ dài 50 đoạn
Othello, a young squire.
Lady Macbeth, an old fart.
Trình bày "nhân vật" nhiều hơn, trước các hướng dẫn thích hợp. Như mọi khi, điều duy nhất quan trọng với trình biên dịch là Othello
vàLady Macbeth
vì vậy, phần còn lại của dòng là dành cho ...
Một điều nữa: các "nhân vật" không cần phải liên quan với nhau để xuất hiện trong chương trình SPL - vì vậy bạn có thể có Romeo, Othello và Hamlet trong cùng một vở kịch.
Factoid (nửa thế kỷ của những điều này? Phew! Sau này tôi nghĩ rằng tôi sẽ ghét William Shakespeare ...)
Trình dịch SPL sang C, được đề cập trước đây và được phát triển bởi những người tạo SPL, dựa trên Flex và Bison .
Độ dài 51 đoạn
Othello:
Recall your great dreams. Speak your mind!
(Quá mệt mỏi với Romeo, Juliet và Hamlet ... chúng ta hãy mang đến Othello, để thay đổi!)
Recall
, như bạn có thể đoán, là chìa khóa ở đây. "Nhân vật" mà Othello đang giải quyết sẽ lấy một giá trị từ ngăn xếp của anh ấy / cô ấy, giả sử giá trị đó và sau đó, sẽ xuất ra nó.
Độ dài 52 đoạn
Thou art as pretty as the sum of thyself and my dog!
Một khoản tiền khác. Ngáp Giả sử điều này được gửi đến Hamlet, có nghĩa là Hamlet = Hamlet + 1
. Hoặc Hamlet += 1
. Hoặc làHamlet++
.
Độ dài 53 đoạn
Romeo:
You are as vile as the sum of me and yourself!
À, vâng, một điều mà tôi đã quên đề cập trước đây: các "nhân vật" biết nói có thể tự đề cập đến chính họ.
Độ dài 54 đoạn
Juliet:
Is the sum of Romeo and me as good as nothing?
Một ví dụ khác về đoạn trích trước, được bao gồm trong một điều kiện. Vì vậy, những gì chúng ta có ở đây là if (Romeo + Juliet == 0)
.
Độ dài 55 đoạn
Juliet:
You are as lovely as the sweetest reddest rose.
Vì vậy, ở đây, Juliet đang ca ngợi "nhân vật" mà cô ấy đang nói đến (giả sử đó là Romeo, vì lợi ích của Shakespeare), tuyên bố rằng anh ấy / cô ấy là 4. Vâng, một sự gán giá trị khác.
Độ dài 56 đoạn
Othello:
You lying fatherless useless half-witted coward!
Đoạn 48 được thực hiện đúng cách, với một "ký tự". Nếu bạn quá lười để cuộn lên (như tôi muốn), điều này có nghĩa là người bị xúc phạm đang nhận giá trị -16.
Độ dài 57 đoạn
Romeo:
If not, let us return to Act I. Recall thy riches!
Tôi đã giải thích cách các điều kiện hoạt động trên SPL trên cơ sở chung; tuy nhiên, một phân tích nội tuyến hơn là cần thiết. Chúng ta không có else
ở đây: ví dụ, trong ví dụ này, nếu điều kiện không thành công, chương trình sẽ trở lại Act I; nhưng nếu nó là sự thật, nó sẽ tiếp tục hướng dẫn tiếp theo, đó là mộtRecall
- một pop từ ngăn xếp, đó là.
Độ dài 58 đoạn
Romeo:
You are as disgusting as the square root of Juliet!
Lấy đoạn trích 44 và trình bày cách trình bày hướng dẫn. Nếu đây là cuộc đối thoại giữa Romeo và Othello, thì chúng ta có thể dịch nó sang Java dưới dạng Othello = Math.sqrt(Juliet)
.
Độ dài 59 đoạn
Othello:
You are as vile as the sum of yourself and a toad!
Được rồi, nếu Othello đang nói chuyện với Romeo, điều này sẽ tương đương với Romeo+(-1)
; Romeo--
, cho ngắn gọn. Khá cơ bản đúng không? Đó là SPL dành cho bạn.
Độ dài 60 đoạn
Is the quotient between the Ghost and me as good as nothing?
Nói tóm lại, if (The Ghost/Hamlet == 0)
giả sử "cái tôi" thuộc về Hamlet.
Độ dài 61 đoạn
Thou art as handsome as the sum of yourself and my chihuahua!
Khi bạn bóc lớp và lớp từ và lời lăng mạ, bạn nhận thấy rằng SPL gần như là một điều cơ bản, không có chức năng và công cụ tuyệt vời. Vì vậy, chúng tôi có tải và tải các hàm số học trên cơ thể của chương trình. Vì vậy, nếu cái này được gửi đến Juliet, nó sẽ tương đương với Juliet++
.
Độ dài 62 đoạn
twice the difference between a mistletoe and a oozing blister!
Vâng, vâng, nhiều hoạt động số học. Một cách thô bạo, 62 byte SPL này có thể được dịch sang 2*(1-2*(-1))
. Đây sẽ là một ngôn ngữ chơi golf khá tuyệt vời, phải không? Đúng.
Độ dài 63 đoạn
You lying stupid fatherless rotten stinking half-witted coward!
Đoạn 48 xuất ra -16, đoạn này bằng -64 : 2*2*2*2*2*2*(-1)
.
Độ dài 64 đoạn
your coward sorry little stuffed misused dusty oozing rotten sky
Từ những gì tôi hiểu về SPL, điều này là hoàn toàn hợp pháp. Bạn có rất nhiều tính từ xúc phạm những gì tiến hành một danh từ "tích cực". Vì tính từ không có sự phân biệt đặc biệt cho dù chúng có âm hay không (giá trị duy nhất của chúng là nhân số ở bên phải của chúng với hai), chúng ta có thể có những câu hoàn toàn ngớ ngẩn như thế này. Mà tương đương với 256. Bởi vì 2*2*2*2*2*2*2*2*1=256
.
Độ dài 65 đoạn
You are nothing! You are as vile as the sum of thyself and a pig.
Hmm, rất ghét, phải không? Vì vậy, những gì chúng ta có ở đây tương đương với y=0; y=y+(-1);
Có lẽ có thể đã bị "đánh gôn" You are a pig!
, nhưng heh.
Độ dài 66 đoạn
You are as beautiful as the difference between Juliet and thyself.
Vì vậy, trừ Juliet khỏi chính mình, heh? Điều này khá đơn giản để giải mã: Romeo=Juliet-Romeo;
giả sử Romeo đang được nói đến.
Độ dài 67 đoạn
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
Làm thế nào hầu hết các điều kiện làm việc trên SPL. Bạn kiểm tra biểu thức và, nếu nó đúng (hoặc không: xem đoạn 33), bạn chuyển sang phần khác của chương trình; nếu không, bạn sẽ tiếp tục câu tiếp theo.
Độ dài 68 đoạn
The Ghost:
You are as small as the sum of yourself and a stone wall!
Vâng, vâng, tôi đang nhận được một chút đơn điệu. Nhưng SPL là như thế. Như tôi đã nói trước đó một chút, các biểu thức của nó là một hỗn hợp của các phép toán số học. Vì vậy, đây là một sự gia tăng khác - vì stone wall
là một "danh từ" trung tính.
Độ dài 69 đoạn
Thou art as disgusting as the difference between Othello and thyself!
Thay vì một khoản tiền, chúng tôi có phép trừ giữa hai nhân vật, Othello và bất cứ ai đang được nói chuyện.
Độ dài 70 đoạn
You are as handsome as the sum of Romeo and his black lazy squirrel!
Chúng tôi trở lại bổ sung, vâng - gọi tôi là công thức, heh. Chúng tôi dịch cái này sang Romeo + 2*2*1
.
Độ dài 71 đoạn
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
Một cảnh có thể nhỏ như thế này. Juliet
Bước vào sân khấu, Othello bảo cô xuất ra giá trị được lưu trữ của mình, sau đó cô lại bước ra khỏi sân khấu.
Độ dài 72 đoạn
twice the difference between a mistletoe and an oozing infected blister!
Thêm một phép toán số học - bởi vì SPL được đánh đố với chúng. Chúng tôi có thể dịch cái này sang 2*(1-2*2*(-1))
.
Độ dài 73 đoạn
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
Bốn hướng dẫn liên tiếp?! Tôi thực sự tự hào về bản thân mình. Dù sao đi nữa, giả sử đây là cuộc đối thoại giữa Romeo và Juliet (và anh ấy đang nói): điều này có nghĩa là giá trị của Juliet bắt đầu từ 0; sau đó, Juliet sẽ đẩy giá trị của Romeo vào bộ nhớ của cô ấy, bật nó lên và xuất nó ở dạng đã nhập. Đơn giản phải không?
Độ dài 74 đoạn
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
Vâng, vâng, ví dụ nhàm chán, tôi biết. Nhưng đây là X = (Romeo + 1) + 1
.
Độ dài 75 đoạn
Is the remainder of the quotient between Othello and me as good as nothing?
Vâng, điều này là khá đơn giản. Nếu kỹ năng giải mã của bạn bị trục trặc, nó chuyển thành if (Othello % X == 0)
.
Độ dài 76 đoạn
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
Nhảy từ đoạn 26 với một biểu thức trước nó. A goto
trên SPL không phải lúc nào cũng được tìm thấy gần một điều kiện, nó có thể giống như thế này - và tất nhiên, loại này goto
sẽ luôn được tìm thấy ở cuối Đạo luật hoặc Cảnh, vì các hướng dẫn sau sẽ không bao giờ được biên dịch / thực hiện. Hướng dẫn đầu tiên khá đơn giản : x=x+1
.
Đoạn dài 77
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
Vì vậy, chúng tôi có Juliet và Hamlet trên sân khấu; nhưng chúng tôi cần giá trị từ Romeo. Do đó, để giải phóng trình biên dịch khỏi cơn đau đầu rất khó chịu, trước tiên, chúng tôi loại bỏ Hamlet khỏi sân khấu (mặc dù đó có thể là Juliet là người đi), chúng tôi nói với Romeo lên sân khấu, Juliet cho anh ta một hướng dẫn để xuất ra một số (xem phần giải thích của đoạn trích 21), sau đó Romeo rời khỏi sân khấu và Hamlet trở lại. Khá đơn giản và đơn giản.
Độ dài 78 đoạn
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
Vì vậy, Ghost (người cha quá cố của Hamlet) đang bảo Lady Macbeth đưa ra giá trị của mình, trong khi cô ra lệnh cho Ghost đọc một số và đẩy nó vào ngăn xếp của mình.
Translate[Scale[Rectangle, 80], {0, 0, 100}]
từ lớnRectangle
sẽ xuất hiện nổi trước màn hình của bạn?