Deadfish 是一種笑話程式語言。根據深奧的程式語言維基,笑話程式語言是這樣一種語言:
除了潛在的幽默價值之外,沒有任何興趣。一般來說,即使理論上也完全無法用於程式設計
Deadfish 就是這樣一種笑話語言,它的名字來自
Deadfish 最初被稱為 Fishheads,因為用這種語言程式設計就像吃生魚頭。然而,由於該語言的限制功能,使用該語言進行程式設計變得就像吃(並且必須聞)死的、腐爛的魚頭,這種體驗通常不被認為是愉快的。
儘管如此,Deadfish 的 wiki 頁麵包含 65 種不同語言的實現,包括 C、C#、C++、Chicken、Clever、COBOL 和 Commodore 64 BASIC(僅舉 C 語言)。
Deadfish 已擴展為 Deadfish~,它是原始 Deadfish 語言的超集。由於可能有充分的理由,Deadfish~ 直到今天仍未實現。
Deadfish 程式有一個整數累加器變量,該變數初始化為零。程式語言只定義了四種操作
指令 | 描述 |
---|---|
我 | 這會增加累加器 |
d | 這會減少累加器 |
s | 將累加器中的值求平方 |
哦 | 輸出累加器 |
如果累加器變為 -1 或 256,則將其重設為零。
Deadfish~ 是 Deadfish 程式語言的超集。程式具有與Deadfish 相同的單一整數累加器變量,該變數初始化為零,並且在值-1 和256 附近具有相同的行為。命令
指令 | 描述 |
---|---|
我 | 這會增加累加器 |
d | 這會減少累加器 |
c | 使累加器成為一個字符 |
哦 | 輸出累加器 |
s | 將累加器中的值求平方 |
{} | 大括號內的指令循環 0 到 10 次,增量為 1 |
() | 如果累加器不為零則執行一次裡面的語句 |
小時 | 停止 |
w | 你好世界!顯示問候語 |
其中幾個命令有點含糊,所以我決定對於這個實現
c
,將累加器輸出為 ascii 字符,保持累加器中的值不變{}
,大括號內的語句重複十次。程式碼不會執行錯誤檢查,並且會默默地跳過無效命令或不正確嵌套的大括號,就像 Deadfish 的原作者所希望的那樣。
#用法
原始碼完全包含在deadfish.py
中。使用deadfish.deadfish
方法評估 Deadfish 字串。
>> > import deadfish
>> > deadfish . deadfish ( "iisiiiis{ic}{ic}icicicicicic" )
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Deadfish~ 還有一個 CLI,可以透過deadfish.deadfish_cli()
來存取
>>> deadfish.deadfish_cli()
>>iiio
3
>>h
來自deadfish_cli()
:
>>iisiiiisiiiiiiiiciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiciii{c}dddddddddcdddddddciiiiiiiiiicdddddddc
Horrrrrrrrrrible
>>o
101
>>w
Hello, World!
此範例顯示了 Deadfish wiki 頁面頂部的標準查詢,演示了算術的工作原理正如 Deadfish 中“預期”的那樣
>>iisssoiissiso
0289