跳转到内容

WhatLang:修订间差异

此后如竟没有炬火,我便是唯一的光。
DGCK81LNN留言 | 贡献
无编辑摘要
DGCK81LNN留言 | 贡献
无编辑摘要
第1行: 第1行:
'''WhatLang''' 是{{预防}}于 2024 年 6 月最初创造的一门基于堆栈的深奥编程语言(esolang)。
'''WhatLang''' 是{{预防}}于 2024 年 6 月最初创造的一门基于堆栈的深奥编程语言(esolang),具有图灵完备性,其解释器使用 TypeScript 编写


[[LNNBot]] 搭载了 WhatLang 解释器并藉此提供了文言文和[[道本语]]语言偏好下的[[LNNBot/WhatCommands指令/n2h|特殊数字]][[LNNBot/WhatCommands指令/n2t|显示格式]]、[[LNNBot/WhatCommands指令/unisearch|按名称搜索 Unicode 字符]]、[[七历]][[LNNBot/WhatCommands指令/septd|转换]]、[[LNNBot/指令/wwordle|单人 wordle 小游戏]]等多项功能。
== 机制 ==
WhatLang 有字符串(String)、数字(Number,64 位浮点数,含 NaN)、数组(Array,可变长度,允许混合类型)与未定义(Undefined)四种值类型,除了使用先进先出的堆栈作为操作数据的基本工具外,也可以操作命名的变量。
 
WhatLang 代码使用 ASCII 中数字、字母外的符号作为指令,每个指令都会执行对应的动作,包括栈操作(如<code>\</code>交换栈顶二值、<code>:</code>复制栈顶值、<code>_</code>丢弃栈顶值)、运算(<code>+</code>加法或字符串拼接、<code>-*/%</code>常规运算)、流程控制(<code>{}</code>循环、<code>!</code>跳出)、数组操作(<code>,;$</code>读写删除元素)等;而使用 <code>@</code> 指令可以调用内置或自定义的函数(将代码字符串定义为变量即可作为自定义函数使用)。
 
== 应用 ==
WhatLang 解释器作为一个 Koishi.js 插件诞生,在 QQ 机器人环境下通过内置函数提供了消息操作、网络请求、数据持久化存储的接口。[[LNNBot]] 搭载了 WhatLang 解释器并藉此提供了文言文和[[道本语]]语言偏好下的[[LNNBot/WhatCommands指令/n2h|特殊数字]][[LNNBot/WhatCommands指令/n2t|显示格式]]、[[LNNBot/WhatCommands指令/unisearch|按名称搜索 Unicode 字符]]、[[七历]][[LNNBot/WhatCommands指令/septd|转换]]、[[LNNBot/指令/wwordle|单人 wordle 小游戏]]等多项功能。


== 参见 ==
== 参见 ==

2025年10月18日 (六) 01:49的版本

WhatLang预防于 2024 年 6 月最初创造的一门基于堆栈的深奥编程语言(esolang),具有图灵完备性,其解释器使用 TypeScript 编写。

机制

WhatLang 有字符串(String)、数字(Number,64 位浮点数,含 NaN)、数组(Array,可变长度,允许混合类型)与未定义(Undefined)四种值类型,除了使用先进先出的堆栈作为操作数据的基本工具外,也可以操作命名的变量。

WhatLang 代码使用 ASCII 中数字、字母外的符号作为指令,每个指令都会执行对应的动作,包括栈操作(如\交换栈顶二值、:复制栈顶值、_丢弃栈顶值)、运算(+加法或字符串拼接、-*/%常规运算)、流程控制({}循环、!跳出)、数组操作(,;$读写删除元素)等;而使用 @ 指令可以调用内置或自定义的函数(将代码字符串定义为变量即可作为自定义函数使用)。

应用

WhatLang 解释器作为一个 Koishi.js 插件诞生,在 QQ 机器人环境下通过内置函数提供了消息操作、网络请求、数据持久化存储的接口。LNNBot 搭载了 WhatLang 解释器并藉此提供了文言文和道本语语言偏好下的特殊数字显示格式按名称搜索 Unicode 字符七历转换单人 wordle 小游戏等多项功能。

参见

外部链接