跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
社群首页
帮助
希顶相关网站
希顶社区官网
希服维基
Nyoeghau翻译器
〇改希顶转写器
语圈山海经
搜索
搜索
外观
创建账号
登录
个人工具
创建账号
登录
查看“︁WhatLang”︁的源代码
页面
讨论
不转换
不转换
简体
繁體
新加坡简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
WhatLang
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、storagereadable
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
'''WhatLang''' 是{{预防}}于 2024 年 6 月最初创造的一门基于栈的深奥编程语言(esolang),具有图灵完备性,其解释器使用 TypeScript 编写。 == 机制 == 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> 指令可以调用函数,内置函数提供了其他一些重要的功能(如<code>num@</code>/<code>str@</code>/<code>arr@</code>类型转换、<code>rand@</code>随机数、<code>len@</code>获取序列长度等)。 == 应用 == WhatLang 解释器作为一个 Koishi.js 插件诞生,在 QQ 机器人环境下通过内置函数提供了消息操作、网络请求、数据持久化存储的接口。最初由预防的个人 QQ 机器人“高C”搭载,但该机器人未持续运行提供服务。[[LNNBot]] 搭载了 WhatLang 解释器并藉此提供了文言文和[[道本语]]语言偏好下的[[LNNBot/WhatCommands指令/n2h|特殊数字]][[LNNBot/WhatCommands指令/n2t|显示格式]]、[[LNNBot/WhatCommands指令/unisearch|按名称搜索 Unicode 字符]]、[[七历]][[LNNBot/WhatCommands指令/septd|转换]]、[[LNNBot/指令/wwordle|单人 wordle 小游戏]]等多项功能。 == 代码示例 == Hello World 程序: `Hello, World!` 计算当前北京时间星期几及当前时间: time@ 60000/ 480+: 60/: (计算当前的Unix纪元分钟和小时数,加上8小时时区偏移)_ 24/ flr@ 4+ 7% (除以24向下取整得到天数;1970-01-01是周四,加4后模7得到星期几)_ "日一二三四五六"\,\_ (转换为对应汉字)_ "现在是星期"\+"的"+\ (在前后拼接文字)_ flr@ 24% ':++\ (将小时数取整后模24,拼接在文字后并添加冒号)_ flr@ 60% :9?1?{ '0\+ !} + (将分钟数取整后模60,若不大于9在前面补零,拼接到最后)_ . (输出)_ == 参见 == * [[LNNBot/指令/whatlang]] * [[LNNBot/WhatCommands指令]] == 外部链接 == * [https://esolangs.org/wiki/WhatLang Esolangs 维基上的 WhatLang 文档](英文)
该页面使用的模板:
Template:U
(
查看源代码
)
Template:预防
(
查看源代码
)
返回
WhatLang
。