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 附近具有相同的行为。该语言是通过 esolangs.org 上的页面定义的,其中包含下表支持的命令
指令 | 描述 |
---|---|
我 | 这会增加累加器 |
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